我正在尝试将 EF Migrations 与现有数据库一起使用。
启动项目是 MVC 3 项目,域对象位于同一解决方案的单独项目中。
以下是我采取的步骤:
添加迁移 InitialMigration -IgnoreChanges -Verbose
创建了 Configuration.cs 和 ###_InitialMigration.cs。必须编辑 Configuration.cs 以添加我的上下文对象的名称,因为它位于单独的项目中。
更新数据库
将 dbo.__MigrationHistory 添加到我的数据库
向现有类添加了新属性
private ulong? myProp;
[DataMember]
public ulong? MyProp
{
get { return myProp; }
set
{
if (myProp != value)
{
myProp = value;
RaisePropertyChanged(() => this.MyProp);
}
}
}
成功编译解决方案。
添加迁移 MyNewMigration
创建了###_MyNewMigration.cs,其中没有迁移:
public partial class MyNewMigration : DbMigration
{
public override void Up()
{
}
public override void Down()
{
}
}
看起来不太好......迁移在哪里?
更新数据库-详细-脚本
升级脚本中没有提及新属性
插入 [__MigrationHistory]([MigrationId]、[CreatedOn]、[Model]、[ProductVersion])值('201206122137444_MyNewMigration'、'2012-06-12T22:07:49.170Z'、0x1F8B080YadaYada、'4.3.1')
如何让 EF Migrations 接受模型更改?