DbContext 和 ObjectContext两者的区别

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

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

下面给出转换的例子

1.DbContext转为ObjectContext

using System.Data.Entity.Infrastructure

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

2.ObjectContext转为DbContext

using System.Data.Entity.Infrastructure

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

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

给出两个方式的代码对比图,最后得到的结果相同:

 
 
原文地址:https://www.cnblogs.com/xiaoxiaoyu0707/p/5896225.html