代码改变世界

DbContext 和 ObjectContext两者的区别

2017-04-25 18:28  huoit  阅读(1671)  评论(0编辑  收藏  举报

ObjectContext和DbContext都继承了接口IObjectContextAdapter,而该接口只有一个方法就是提供两者之间的转换:

eg:

ObjectContext context =((IObjectContextAdapter)dbContext).ObjectContext;

DbContext  context =((IObjectContextAdapter)objectContext).DbContext;

微软解释了几句两者在概念上是相似的;

ObjectContext封装了CLR和数据库之间连接的顶级网关对象,用作CURD操作。如:连接对象EntityConnection,元数据、实体状态ObjectStateEntry、状态管理等

DbContext封装ObjectContext的大部分方法和属性,DbContext是扩展了ObjectContext的类。