我有一个带有 Entity Framework 5、.NET 4.5 和 Visual Studio 2012 的 ASP.NET MVC 4 项目。在我的解决方案中,我将所有模型放在一个名为 Model 的项目中,将所有存储库和我的 DbContext 放在另一个名为 Data 的项目中. 我使用 Enable-Migrations 命令激活 Data 项目中的迁移。我决定手动处理它们。如果我使用 Add-Migration 命令创建一个新的迁移,一切都会很好。例如,如果我向表中添加一个新列,它就可以正常工作。我可以在数据库架构中看到新列,并且在 _MigrationHistory 表中看到新记录。此时,随着新列的创建,我需要将此列添加到正确的模型中。所以,我将此方法添加到我的代码优先模型类中并运行该项目。它删除我的数据库,并使用初始迁移对其进行初始化。我可以' t 在不丢失所有数据的情况下调整模型。我怎样才能避免这种行为?谢谢
更新:
配置.cs
namespace NegoziazioneEventi.Data.Migrations
{
using System;
using System.Data.Entity;
using System.Data.Entity.Migrations;
using System.Linq;
internal sealed class Configuration : DbMigrationsConfiguration<NegoziazioneEventi.Data.NeDataContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = false;
}
protected override void Seed(NegoziazioneEventi.Data.NeDataContext context)
{
}
}
}
Global.asax 中的 Application_Start()
protected void Application_Start()
{
// init basic data on database
System.Data.Entity.Database.SetInitializer(new Models.InitData());
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
_container = Bootstrapper.GetWindsorContainer();
}