DbContext和ObjectContext有什么区别?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (45)

来自MSDN

表示工作单元和存储库模式的组合,使你能够查询数据库并将更改分组在一起,然后将这些更改作为一个单元返回。

DbContext和ObjectContext有什么区别?

提问于
用户回答回答于

DbContext是ObjectContext类的轻量级版本,几乎放在ObjectContext的顶部(甚至还有一种方法可以从DbContext获取ObjectContext)。使用IMO也很容易,并且使得CRUD操作成为可能。。

用户回答回答于

DbContext是一个较小的API,是ObjectContext最常用的特性。在某些情况下,这些功能将镜像到DbContext API中。但是有一个潜在的API可能仍然需要访问。例如,你可能希望直接使用MetadataWorkspace来编写针对类的通用代码,因为该API可以比反射更高效地读取模型。

或者你可能想要利用通过Entity SQL公开的特定于数据库的功能,你无法从LINQ访问实体。或者你可能已经有了一个使用ObjectContext编写的应用程序,并且你希望在未来的更新中利用DbContext而无需替换所有的ObjectContext代码。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励