继承基础Dbcontext类

时间:2014-11-02 07:26:35

标签: entity-framework entity-framework-5 dbcontext ado.net-entity-data-model

我有一个关于继承自定义DbContext类的问题。

我使用C#Ado.net实体模型生成器在命名空间1中创建了一个名为DbContext的自定义BaseContext类,如下所示:

namespace NS1
{
   public partial class BaseContext: DbContext
   {
        public BaseContext(): base("name=BaseContext")            
        {
        }

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

        public virtual DbSet<PLAYERS> PLAYERS { get; set; }   
   }
}

在另一个命名空间中,我创建了另一个使用相同数据库但其他一些表的上下文。

namespace NS2
{
   public partial class ExtensionContext: DbContext
   { 
       public ExtensionContext(): base("name=ExtensionContext")
       {
       }

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

       public virtual DbSet<CRICKET_PLAYERS> CRICKET_PLAYERS { get; set; }      
   }
}

现在我在PLAYERS中使用ExtensionContext DbSet。我尝试从BaseContext继承ExtensionContext并将ExtensionContext连接字符串传递给BaseContext构造函数,后者又发送到DbContext

但在实施过程中,我得到一个例外陈述

  

当前ExtensionContext

中不存在PLAYERS名称

请让我深入了解在扩展上下文中重用现有DbSet类型的可能性。

提前致谢

0 个答案:

没有答案