Visual Studio 2013 EF5实体数据模型 EDMX 使用 T4模板生成后的继承对象为DbContext,以前的熟悉的ObjectContext对象不见了,当然使用ObjectContext对象不是每个程序员都需要的,解决办法有两种:

方法1.打开Model.Context.cs,添加       

  public OracleModelEntities(ObjectContext objectContext, bool dbContextOwnsObjectContext)
            :base(objectContext, dbContextOwnsObjectContext)
        { }

如下:

    using System;
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;
    using System.Data.Objects;

    public partial class OracleModelEntities : DbContext
    {
        public OracleModelEntities()
            : base("name=OracleModelEntities")
        {
        }

        public ModelEntities(ObjectContext objectContext, bool dbContextOwnsObjectContext) 
            :base(objectContext, dbContextOwnsObjectContext)
        { }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            throw new UnintentionalCodeFirstException();
        }

使用方式如下:

public OracleModelEntities db = new OracleModelEntities(new ObjectContext(EntityConnectionHelper.OracleEntityConnection("OracleModel")), true);

 

方法2.在设计视图中打开EDMX文件,在属性面板中将“代码生成策略”改为“默认”,然后将解决方案管理器中的“.tt”文件删除,用鼠标右击EDMX,选择“运行自定义工具”,生成的代码父类已经是就是ObjectContext。

相关文章:

  • 2022-12-23
  • 2021-07-13
  • 2021-12-09
  • 2021-11-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-14
  • 2022-12-23
  • 2022-12-23
  • 2021-11-21
  • 2021-04-07
  • 2022-12-23
相关资源
相似解决方案