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的類。
給出兩個方式的代碼對比圖,最後獲得的結果相同: