通过代码运行迁移。无法加载模块中的类

时间:2014-04-28 21:10:43

标签: c# asp.net entity-framework mono identity

问题,无法加载模块中的类。

所以有些背景,我试图证明使用最新的技术,EF6 / ASP.NET身份运行ASP.NET C#MVC 5.1网站是可能的,而不依赖于Microsoft Architecture。 I.E.单声道。

到目前为止,MVC的工作正在100%完成。于是开始实施实体框架。当我使用Xamarin工作室时,我无法访问包管理器控制台 在guide之后我试图基本上运行Update-Database但是在运行代码时出现了极其无益的错误:“模块中的类无法加载。

鉴于像这样的项目的复杂性,如果他们想要自己测试完整的代码,我愿意向任何人授予github访问权。

运行更新的代码

Database.SetInitializer<MyDbContext>(new MySqlInitializer());
var configuration = new Configuration();
var migrator = new DbMigrator(configuration); //The classes in the module cannot be loaded.
migrator.Update();

Configuration.cs

public class Configuration : DbMigrationsConfiguration<MyDbContext>
{
    private MyDbContext _context;

    public Configuration()
    {
        AutomaticMigrationsEnabled = true;
        AutomaticMigrationDataLossAllowed = true;
    }

    protected override void Seed(MyDbContext context)
    {
        _context = context;

        Database.SetInitializer(new MySqlInitializer());

        if (System.Diagnostics.Debugger.IsAttached)
        {

        }
    }
}

MyDbContext.cs

[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
public class MyDbContext : IdentityDbContext
{
    public DbSet<ApplicationUser> ApplicationUsers { get; set; }

    static MyDbContext()
    {
        Database.SetInitializer(new MySqlInitializer());
    }

    public MyDbContext() : base("MyDbContext")
    {
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
        modelBuilder.Conventions.Remove<ManyToManyCascadeDeleteConvention>();
    }

    public override int SaveChanges()
    {
        var value = base.SaveChanges();
        return value;
    }
}

0 个答案:

没有答案