web-dev-qa-db-ja.com

Dbcontextを使用したExecuteStoreQuery

EntityFrameworkのExecuteStoreQuery関数を使用したいのですが、コンテキスト変数にExecuteStoreQueryメソッドがないのではないかと思いました。

それで、それがObjectContextクラスのメソッドであることを発見しましたが、アプリケーションにはすでにDbContextを使用しました。 DbContextObjectContextに変更しようとしただけですが、エラーが発生しました(たとえば、ObjectContextではOnModelCreatingメソッドではありません)。

DbContextでExecuteStoreQueryを使用するにはどうすればよいですか?使用できない場合は、DbContextでExecuteStoreQueryの代替手段はありますか?

24
Chuck Norris

DbContextは、単にObjectContextのラッパーです。

ObjectContext を使用して、元のIObjectContextAdapterに引き続きアクセスできます。

(dbContext as IObjectContextAdapter).ObjectContext;
38
Wouter de Kort

私が今正しい方法だと思うことを付け加えたいと思います:

dbContext.Database.SqlQuery<T>(string sql);
38
Tesserex