在program.cs中我有
private static bool CheckMigrationVersionAndUpgradeIfNeeded()
{
try
{
using (var db = new jtDbContext())
{
if (db.Database.CompatibleWithModel(false))
{
return true;
}
else
{
return RunMigrations(db);
}
}
}
catch (Exception ex)
{
var s = string.Format("Problem in MigrateIfNeeded /n/p" + ex);
MessageBox.Show(s);
return false;
}
}
private static bool RunMigrations(jtDbContext db)
{
if (!AskForPassword()) { return false}
return db.RunMigrations();
}
在我的背景下我有
public void RunMigrations()
{
var configuration = new Configuration();
var migrator = new DbMigrator(configuration);
var pendings = migrator.GetPendingMigrations();
foreach (var pending in pendings)
{
migrator.Update(pending);
}
}
我从this question看到EF5中存在与此字段相关的问题。
我在项目中使用DevExpress Xaf,但我不知道这是如何相关的。
我仍然可以通过在PM>键入update-database来运行迁移。提示
我可以在更新
之前运行以下脚本来解决此问题ALTER TABLE dbo.__MigrationHistory ADD CreatedOn DateTime Default GETDATE()
GO
UPDATE dbo.__MigrationHistory SET CreatedOn = GETDATE()
[更新]在VS2015 Update1 IDE中运行时会出现问题。当我运行.exe
时,它不会发生