我正在为使用MySQL数据库的ASP.NET MVC5应用程序使用数据库优先方法,但我陷入了这个奇怪的错误中。在我的数据库中,我有身份表,但全部都是小写,如以下
但是当我将应用程序发布到我的登台服务器时,它给了我类似“表'xxx_.AspNetUsers'不存在”的错误,尽管我在数据库中有该表,但该表是小写的(aspnetusers)。而且很奇怪的是,在本地以及在smarterasp.net上,一切都正常运行,但是在我的登台服务器上,由于某些原因,它无法正常工作。
固定:
protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
//Make sure you add above line
modelBuilder.Entity<ApplicationUser>().ToTable("aspnetusers");
modelBuilder.Entity<IdentityRole>().ToTable("aspnetroles");
modelBuilder.Entity<IdentityUserRole>().ToTable("aspnetuserroles");
modelBuilder.Entity<IdentityUserClaim>().ToTable("aspnetuserclaims");
modelBuilder.Entity<IdentityUserLogin>().ToTable("aspnetuserlogins");
//Don't add IdentityUser ToTable aspnetusers
}
固定:
protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
//Make sure you add above line
modelBuilder.Entity<ApplicationUser>().ToTable("aspnetusers");
modelBuilder.Entity<IdentityRole>().ToTable("aspnetroles");
modelBuilder.Entity<IdentityUserRole>().ToTable("aspnetuserroles");
modelBuilder.Entity<IdentityUserClaim>().ToTable("aspnetuserclaims");
modelBuilder.Entity<IdentityUserLogin>().ToTable("aspnetuserlogins");
//Don't add IdentityUser ToTable aspnetusers
}