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;
        }
}

 

posted @ 2019-05-27 09:40  生圣  阅读(1004)  评论(0编辑  收藏  举报