EntityFrameworkのExecuteStoreQuery
関数を使用したいのですが、コンテキスト変数にExecuteStoreQuery
メソッドがないのではないかと思いました。
それで、それがObjectContext
クラスのメソッドであることを発見しましたが、アプリケーションにはすでにDbContext
を使用しました。 DbContext
をObjectContext
に変更しようとしただけですが、エラーが発生しました(たとえば、ObjectContextではOnModelCreating
メソッドではありません)。
DbContextでExecuteStoreQuery
を使用するにはどうすればよいですか?使用できない場合は、DbContextでExecuteStoreQuery
の代替手段はありますか?
DbContext
は、単にObjectContext
のラッパーです。
ObjectContext
を使用して、元のIObjectContextAdapter
に引き続きアクセスできます。
(dbContext as IObjectContextAdapter).ObjectContext;
私が今正しい方法だと思うことを付け加えたいと思います:
dbContext.Database.SqlQuery<T>(string sql);