使用Dbcontext执行ExecuteStoreQuery

时间:2011-12-28 13:15:15

标签: c# linq entity-framework objectcontext dbcontext

我想使用Entity Framework的ExecuteStoreQuery函数,我想知道我的上下文变量没有ExecuteStoreQuery方法。

所以,我发现它是ObjectContext类的方法,但我已经将DbContext用于我的应用程序。 我只是尝试使用DbContext更改ObjectContext,但它带来了一些错误(例如,在ObjectContext中不是OnModelCreating方法)。

如何将ExecuteStoreQuery与DbContext一起使用,如果不能,则在DbContext中使用ExecuteStoreQuery的替代方法?

2 个答案:

答案 0 :(得分:38)

DbContext只是ObjectContext的一个包装。

您仍然可以使用IObjectContextAdapter

访问原始ObjectContext
(dbContext as IObjectContextAdapter).ObjectContext;

答案 1 :(得分:37)

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

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