C# 通过代码运行迁移。无法加载模块中的类
问题在于,无法加载模块中的类 因此,在一些背景下,我试图证明使用最新技术EF6/ASP.NET Identity运行ASP.NET C#MVC 5.1网站是可能的,而不依赖于Microsoft体系结构。即单声道 到目前为止,MVC的工作效率是100%。于是开始实施实体框架。由于我使用的是Xamarin studio,因此无法访问package manager控制台。C# 通过代码运行迁移。无法加载模块中的类,c#,asp.net,entity-framework,mono,identity,C#,Asp.net,Entity Framework,Mono,Identity,问题在于,无法加载模块中的类 因此,在一些背景下,我试图证明使用最新技术EF6/ASP.NET Identity运行ASP.NET C#MVC 5.1网站是可能的,而不依赖于Microsoft体系结构。即单声道 到目前为止,MVC的工作效率是100%。于是开始实施实体框架。由于我使用的是Xamarin studio,因此无法访问package manager控制台。 在此之后,我尝试运行更新数据库,但在运行代码时出现了一个毫无帮助的错误:“无法加载模块中的类。” 考虑到这样一个项目的复杂性,如果
在此之后,我尝试运行
更新数据库
,但在运行代码时出现了一个毫无帮助的错误:“无法加载模块中的类。”
考虑到这样一个项目的复杂性,如果任何人想自己测试完整代码,我愿意授予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();
Database.SetInitializer(新的MySqlInitializer());
var配置=新配置();
var migrator=新的DbMigrator(配置)//无法加载模块中的类。
migrator.Update();
配置.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)
{
}
}
}
[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;
}
}
公共类配置:dbmigrionsconfiguration
{
私有MyDbContext\u context;
公共配置()
{
AutomaticMiggerationsEnabled=真;
AutomaticMigrationDataLossAllowed=true;
}
受保护的覆盖无效种子(MyDbContext上下文)
{
_上下文=上下文;
SetInitializer(新的MySqlInitializer());
if(System.Diagnostics.Debugger.IsAttached)
{
}
}
}
MyDbContext.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)
{
}
}
}
[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;
}
}
[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
公共类MyDbContext:IdentityDbContext
{
公共数据库集应用程序用户{get;set;}
静态MyDbContext()
{
SetInitializer(新的MySqlInitializer());
}
公共MyDbContext():基(“MyDbContext”)
{
}
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove();
modelBuilder.Conventions.Remove();
modelBuilder.Conventions.Remove();
}
公共覆盖int SaveChanges()
{
var value=base.SaveChanges();
返回值;
}
}