2011-03-30 4 views
0

linq visualizer 디버거를 설치하려고했지만 작동하지 않습니다.Linq에서 생성 된 SQL을 표시하는 방법을 찾을 수 없습니다

.Log 속성과 .GetCommand() 컨텍스트의 메서드를 찾으려고 시도했지만 내 개체 중 컨텍스트를 찾을 수 없습니다.

public static DATAGESTIONDataSet FillDataSet_Tb_Activite() 
    { 
     var cn = new OleDbConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ImportSerce.Properties.Settings.DATAGESTIONConnectionString"].ToString()); 
     var cmd = new OleDbCommand("SELECT * FROM [Tb_Activite]", cn); 
     var da = new OleDbDataAdapter(cmd); 
     var tds = new data.DATAGESTIONDataSet(); // the DATAGESTIONDataSet() is a xsd file, modeled after a MS Access database 
     da.Fill(tds, tds.Tb_Activite.TableName); 
     cn.Close(); 
     cn.Dispose(); 
     return tds; 
    } 

그리고 main() 메소드에서

:

 var dsActivites = FillDataSet_Tb_Activite(); 
     var activitesSoc = from s in dsActivites.Tb_Activite 
           where s.Code.ToLower().StartsWith("w") 
           select s.Ident; 

내 객체의 어떤에 나는 로그 속성 또는 GetCommand 방법을 찾아야한다?

감사

답변

3

logDataContext에 있습니다.

http://msdn.microsoft.com/en-us/library/bb386961.aspx

또한 생성 된 SQL을 볼 수 linqpad에서 SQL 코드에 Linq에를 실행할 수 있습니다.

SQL Profiler을 사용하여 데이터베이스에 대해 실행되는 SQL을 확인하십시오.

업데이트 그러나이 경우 당신이 Linq에있는 모든 SQL을 생성하지 않는

. 데이터 세트를 채우려면 ADO.Net 스트레이트를 사용하고 있습니다. SELECT * FROM [Tb_Activite]이 전체 테이블을 반환하면 이후 linq to objects 또는 linq to datasets을 사용하여 로컬 인 메모리 데이터를 쿼리합니다. 그렇기 때문에 DataContext을 찾을 수 없습니다.

+0

나는 이것이 그의 '데이터 세트'로 어떻게 도움이 될지 잘 모르겠다. – Marc

+0

@ 마르크 - 좋은 지적, 나는 질문을 올바르게 읽지 않았다. 내 대답을 업데이트했습니다. –

+0

+1 -이 경우 적용되지 않는 경우에도 포스터가 제기 한 문제에 대한 우수 답변입니다. 나는 SQL 프로파일 러를 직접 추천한다. (그리고 그의 코드가하는 것은 테이블을 선택하는 것으로 OP에게 분명하게 알릴 것이다.) – Hogan

관련 문제