3
我想在我的代碼中使用自動遷移,但每次我在模型中更改某些內容時,都需要手動運行update-Database
。我可以自動執行嗎?EF - 代碼優先 - 自動更新數據庫
這是配置:
public class Configuration : DbMigrationsConfiguration<ManualContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;
}
...
}
而且AppActivator
:
[assembly: WebActivator.PreApplicationStartMethod(typeof(AppActivator), "PreStart")]
[assembly: PostApplicationStartMethod(typeof(AppActivator), "PostStart")]
[assembly: ApplicationShutdownMethod(typeof(AppActivator), "Stop")]
namespace Manual.Web
{
public static class AppActivator
{
public static void PreStart()
{
Database.SetInitializer(
new MigrateDatabaseToLatestVersion<ManualContext,Configuration>());
Database.SetInitializer(new ManualDbInitializer());
MeasurementConfig.RegisterUnits();
MiniProfilerPreStart();
}
...
}
而且ManualDbInitializer - 對於種子(創建在第一次DB時):
public class ManualDbInitializer : CreateDatabaseIfNotExists<ManualContext>
{
protected override void Seed(ManualContext context)
{
ManualDbInitializerSeed.SeedForDB(context);
}
}
但我有MigrateDatabaseToLatestVersion在我的代碼...你看了嗎?我做錯了什麼? – TamarG 2014-10-06 11:00:49
@TamarG:什麼是'ManualDbInitializer()'?你在'MigrateDatabaseToLatestVersion()'之後設置它。 –
Masoud
2014-10-06 11:24:11
它的種子..我編輯我的問題的代碼 – TamarG 2014-10-06 11:31:43