zoukankan      html  css  js  c++  java
  • Visual Studio 2013 EF5实体数据模型 EDMX 使用 T4模板生成后使用 ObjectContext对象

    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。

  • 相关阅读:
    洛谷P1328 生活大爆炸版石头剪刀布
    洛谷P1131 [ZJOI2007]时态同步
    洛谷P2585 [ZJOI2006]三色二叉树
    机器学习实战四(Logistic Regression)
    机器学习实战三(Naive Bayes)
    机器学习实战二 (Decision Tree)
    机器学习实战一(kNN)
    chapter9 拖放
    Stanford Algorithms(一): 大数相乘(c++版)
    读: 程序员之禅
  • 原文地址:https://www.cnblogs.com/fiozhao/p/EntityFramework-EDMX-ObjectContext.html
Copyright © 2011-2022 走看看