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