ObjectContext是一种模型优先的开发模式,DbContext是代码优先的开发模式。这是二者最根本的区别。spa
同时二者之间能够相互转换:code
下面给出转换的例子blog
1.DbContext转为ObjectContext开发
using System.Data.Entity.Infrastructureit
ObjectContext context = ((IObjectContextAdapter)dbContext).ObjectContext;
2.ObjectContext转为DbContextast
using System.Data.Entity.Infrastructureclass
DbContext context =((IObjectContextAdapter)objectContext).DbContext;
ObjectContext包含DbContext,DbContext包含了ObjectContext的大部分方法和属性。DbContext是扩展了ObjectContext的类。
给出两个方式的代码对比图,最后获得的结果相同:
