问题描述
我正在尝试通过代码设置我的数据库的初始化,以便在部署应用程序时将数据库更新到最新的迁移。 我的数据库上下文如下:
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 (将#修改为@)