scaffolding Error没有从Configuration到System.Data.Entity.Migrations.DbMigrationsConfiguration的隐式引用转换

时间:2014-03-11 07:13:23

标签: ef-code-first visual-studio-2013 asp.net-mvc-5 t4 entity-framework-6

我使用了EF 6.0.2 Code First,VS 2013,MVC 5,并且从dbMigrationConfiguratino类派生了dbContext和配置类,如下所示:

public class Db :  DbContext
    {
        public Db()
        { 
         Database.SetInitializer(new MigrateDatabaseToLatestVersion<Db,Migrations.Configuration -- my Derived dbMigrationConfig Classs In Migrations folder-->());
        }

        public DbSet<ItemCat> ItemCats { get; set; }
        public DbSet<Item> Items { get; set; }
}

public sealed class  Configuration : DbMigrationsConfiguration<Db>
    {
        public Configuration()
        {
            AutomaticMigrationsEnabled = true;
            AutomaticMigrationDataLossAllowed = true;
        }

        protected override void Seed(Db context)
        {
        }
}

从此处隐式refrience转换为来自任何

  

class-type S到任何类型T,只要S是从T。

派生的

有效。比如我的配置和DbMigrationConfiguration

但是当想要为控制器添加视图时获取错误:

  

Microsoft Visual Studio

     

错误

     

运行所选代码生成器时出错:

     

'编译'DAL.Db'类型时出错。

     

CS0311:“DAL.Migrations.Configuration”类型不能用作   类型参数'TMigrationsConfiguration'在泛型类型或   方法   'System.Data.Entity.MigrateDatabaseToLatestVersion'。   没有隐式引用转换   'DAL.Migrations.Configuration'来   'System.Data.Entity.Migrations.DbMigrationsConfiguration ''。

     

修改

找到这个: CS3011 Error

编辑:我弄清楚我的Db Class To:

    public class Db :MigrateDatabaseToLatestVersion<DbContext,Migrations.Configuration>
    {

//Database.SetInitializer(new MigrateDatabaseToLatestVersion<Db,Migrations.Configuration>());
    }

并在错误编译时间之上获得相同的粗体

0 个答案:

没有答案