2011-12-19 4 views
2

多くのサイトやブログでは、Linqのメカニズムについて説明したい人が、Linqクエリを書いてSQL変換を提供することに気付きました。自分のクエリの翻訳をどのように入手できますか? 私はVS2010のEF .Net 4.0で作業しています。私は彼らが翻訳されているものを見ることができる場所(プロパティまたはいくつかのサードパーティのツール)がありますか?EFがLinqクエリをどのように変換するのかを知るにはどうすればよいですか?

+1

直接回答ではありませんが、[EFProf](http://efprof.com/)をご覧ください。はい、商用ツールですが、人は素晴らしいです。 (SQLプロファイラなどの無料の方法もあります) – vcsjones

+0

これはまさに私が探していたものです!ありがとうございます、それは完全に動作し、私は30日間の試用に満足しています:) – user1086396

答えて

4

最も簡単な方法は、SQLプロファイラを使用することです。私はデバッグするときにこれを本当の神から送り出すことがわかった。

+0

ありがとう、それは私が探していたものですが、私はMSSQLのExpress版しか持っていないので、スクリプトを使用してプロファイラを取得するので、私は急いでいるので、今すぐ渡します。 – user1086396

5

あなたはObjectQuery.ToTraceStringメソッドを使用することができます

var query = ... 
string sql = ((System.Data.Objects.ObjectQuery)query).ToTraceString(); 

をしかし、このアプローチのいくつかの欠点は、それがクエリのみではなく、更新/挿入/削除を示すことです。また、使用されるパラメータは明らかにされません。

クエリからできるだけ詳細が必要な場合は、SQL ServerプロファイラをNeil suggestedとして使用してください。

Julie Lermanには、MSDNのさまざまなオプションの良い記事があります:Profiling Database Activity in the Entity Framework。彼女は言及:

+0

ええ、それは本当に限られており、私が望むたくさんの質問を翻訳することはできません。 – user1086396

0

あなたはあなたのエンティティモデルを照会し、生成されたSQLを表示することができ、LinqPadを使用することができます。

関連する問題