DbContext VS ObjectContext

时间:2013-03-02 21:07:05

标签: asp.net entity-framework

我曾经使用DbContext用于我的所有数据库模型,直到我阅读Ways to optimize Entity Framework,在执行了我发现自己被迫切换到ObjectContext的步骤后,所以,那里,那里有很多代码需要改变,但我不确定我做了正确的事情,特别是在谷歌搜索后,我注意到DbContextObjectContext更新,更好,而且我也是注意到我在转换到ObjectContext时失去了很多东西,比如“迁移”和“查找”方法等等......

那么,改变我的代码以使用ObjectContext代替DbContext以通过预生成视图来提高速度是正确的吗?或者我做错了什么?

2 个答案:

答案 0 :(得分:2)

您不必切换到ObjectContext来获取预先生成的视图。我创建了T4模板,用于为CodeFirst生成预生成的视图。看看这里:Entity Framework initialization is SLOW -- what can I do to bootstrap it faster? Visual Studio Gallerry上提供了T4模板。以下是我的博文中link描述如何获取和使用它们

答案 1 :(得分:1)

我建议您使用DbContext,因为它是ObjectContext的简化版本。如果DbContext不够,可以从DbContext访问包装的ObjectContext:

((IObjectContextAdapter)dbContext).ObjectContext

“生成视图”选项也可用于EF Power Tools中的Code First(DbContext)。右键单击从DbContext派生的文件,然后选择“Entity Framework”=> “生成视图”。有关详细信息,请参阅Generating Pre-compiled Views