DbContext 和ObjectContext的区别和转换

刚学EF,在写一个数据通用类的时候,参照网上的例子发现找不到ObjectContext,查看定义后发现继承的是DbContext。

后来发现DbContext和ObjectContext之间是可以相互转换的。

 

一是ObjectContext是一种模型优先的开发模式,DbContext是代码优先的开发模式。这是两者最根本的区别。

同时两者之间可以相互转换:

下面给出转换的例子

1  DbContext转为ObjectContext

using System.Data.Entity.Infrastructure

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

2ObjectContext转为DbContext

using System.Data.Entity.Infrastructure

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


二是ObjectContext包含DbContext,DbContext包含了ObjectContext的大部分方法和属性。DbContext是扩展了ObjectContext的类。

摘自http://www.cnblogs.com/BuBu/archive/2012/09/18/2689900.html

上一篇‡: winrar5.0注册码

下一篇‡: 关于免费短信猫平台的设想

最近回复