2011-11-15 2 views
1

私はEF4.1データベースの最初のアプリケーションを持っていて、.ToString()メソッドは反映された型、and not the SQL queryしか与えません。EF4.1のToString()でSQLコマンドを表示

アプリケーションでLinqクエリをSQL形式で表示するにはどうすればよいですか?

C:\Program Files (x86)\Microsoft ADO.NET Entity Framework 4.1\Binaries\EntityFramework.dllのバージョン4.1をプロジェクトに追加しました。私はToString機能が拡張メソッドによって追加されたと推測していますが、 "System.data.Entityの使用"を追加しても、文字列出力を機能させることができません。

これは、コードファーストの展開でのみ有効ですか?

public IEnumerable<CompanyDetail> GetAllCompanies(int? startPage, int? stopPage, string Filter, int? MaxResults) 
    { 
     var t = from c in _entities.CompanyDetail 
       select c; 

     string test = t.ToString(); 

     var t2 = _entities.CompanyDetail; 

     string test2 = t2.ToString(); 
     return t.ToList(); 
    } 

答えて

1

私はそれがデータベース最初のアプリケーションのために動作していることを確認することができます。

EF 4.1 DbContextジェネレータをモデルに追加することについて言及していないので、あなたのコードはまだEF 4クラスを使用していると推測しています。その場合、モデルを右クリックして[コード生成アイテムを追加...]を選択し、ADO.NET C#DbContextジェネレータを選択します。インストールされているテンプレートにそのテンプレートが表示されない場合は、[オンラインテンプレート]でそのテンプレートを探します。

+0

私は正直なところ、私がS.Oなしで何をするのか分かりません。私はVSとオンラインでこれを探して何時間も過ごしました。多くの感謝の人 – LamonteCristo

+0

EF4.1にバグがあるようですが、Appfabricのキャッシュhttp://sackoverflow.com/q/8131195/328397でリフレクションの問題(または実装上の問題)が発生している可能性があります。 ... – LamonteCristo

関連する問題