EntityFramework进阶(一)- DbContext与ObjectContext互转
本系列原创博客代码已在EntityFramework6.0.0测试通过,转载请标明出处
EF中我们常用的是DbContext作为上下文,如果要想获取元数据等信息还是要用到ObjectContext这个类。
这里提供了两者互相转换的方法,如下。从代码中我们也会发现,DbContext是ObjectContext中的一部分属性方法构成的
using System; using System.Collections.Generic; using System.Data.Entity; using System.Data.Entity.Core.Mapping; using System.Data.Entity.Core.Metadata.Edm; using System.Data.Entity.Core.Objects; using System.Data.Entity.Infrastructure; using System.Linq; using System.Text; using System.Threading.Tasks; public static class DbContextExtension { public static DbContext GetDbContext(this ObjectContext objectContext) { return new DbContext(objectContext, true); } public static ObjectContext GetObjectContext(this DbContext dbContext) { ObjectContext context = ((IObjectContextAdapter)dbContext).ObjectContext; return context; } }