如何解决Aspx 数据库初始化程序在尝试迁移已更新的数据库时出错
我正在尝试通过代码设置我的数据库的初始化,以便在部署应用程序时将数据库更新到最新的迁移。 我的数据库上下文如下:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection",throwIfV1Schema: false)
{
Database.Setinitializer(new MigrateDatabasetoLatestVersion<ApplicationDbContext,MyDbMigrationsConfiguration>());
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Topic>().ToTable("Topics");
modelBuilder.Entity<Attachment>().ToTable("Attachments");
modelBuilder.Entity<Subscription>().ToTable("Subscriptions");
}
public DbSet<Topic> Topics { get; set; }
public DbSet<Subscription> Subscriptions { get; set; }
public DbSet<Attachment> Attachments { get; set; }
}
}
我的迁移配置是这样的:
internal sealed class MyDbMigrationsConfiguration : DbMigrationsConfiguration<ApplicationDbContext>
{
public MyDbMigrationsConfiguration()
{
AutomaticMigrationsEnabled = true;
}
protected override void Seed(ApplicationDbContext context)
{}
}
在我的初创公司中,我有:
public partial class Startup {
public void Configuration(IAppBuilder app) {
ConfigureAuth(app);
using (var dbContext = new ApplicationDbContext())
{
dbContext.Database.CreateIfNotExists();
dbContext.Database.Initialize(force: false);
}
}
}
现在当我调用 dbContext.Database.Initialize(force: false);我收到有关其中一个表已存在的错误。 但我认为初始化程序应该检查数据库是否已经更新并相应地应用迁移。我做错了什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。