DbContext 和 ObjectContext两者的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DbContext 和 ObjectContext两者的区别相关的知识,希望对你有一定的参考价值。

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

eg:

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

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

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

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

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

 

以上是关于DbContext 和 ObjectContext两者的区别的主要内容,如果未能解决你的问题,请参考以下文章

如何将部分更新操作从 ObjectContext 转换为 DbContext

DbContext.Database.SqlQuery vs ObjectContext.ExecuteFunction

为什么不能直接调用DbContext.ObjectContext 获取属性呢?

添加和删​​除时DbContext很慢

如何为 DbContext 设置 CommandTimeout?

实体框架代码优先 - DbContext 上没有 Detach() 方法