使用Dbcontext执行ExecuteStoreQuery

Chu*_*ris 24 c# linq entity-framework objectcontext dbcontext

我想使用ExecuteStoreQueryEntity Framework的功能,我想知道我的上下文变量没有ExecuteStoreQuery方法.

所以,我发现它是一种ObjectContext类的方法,但我已经用于DbContext我的应用程序了.我根本就试图改变DbContextObjectContext,但它带来了一些错误(例如,在ObjectContext的不是OnModelCreating方法).

我如何使用ExecuteStoreQueryDbContext,如果我不能,是ExecuteStoreQueryDbContext的任何替代品?

Wou*_*ort 38

A DbContext只是一个包装器ObjectContext.

您仍然可以ObjectContext使用以访问原始文件IObjectContextAdapter

(dbContext as IObjectContextAdapter).ObjectContext;
Run Code Online (Sandbox Code Playgroud)


Tes*_*rex 38

我想补充一点,我认为现在正确的方法是:

dbContext.Database.SqlQuery<T>(string sql);
Run Code Online (Sandbox Code Playgroud)

  • 如果要跟踪对返回对象的更改,则应考虑dbContext.tablename.SqlQuery &lt;T&gt;(...),其中tablename是您的集合名称。(即DbSet) (2认同)