实体框架迁移未检测到模型更改

时间:2012-06-12 22:13:04

标签: entity-framework-4.3 ef-migrations

我正在尝试将EF迁移与现有数据库一起使用。

启动项目是一个MVC 3项目,域对象位于同一解决方案的单独项目中。

以下是我采取的步骤:

  

Add-Migration 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()
    {
    }
}

看起来不太好......迁移在哪里?

  

Update-Database -Verbose -Script

未提及升级脚本中的新属性

  

INSERT INTO [__ MigrationHistory]([MigrationId],[CreatedOn],[Model],[ProductVersion])   VALUES('201206122137444_MyNewMigration','2012-06-12T22:07:49.170Z',0x1F8B080YadaYada,'4.3.1')

如何让EF Migrations获取模型更改?

1 个答案:

答案 0 :(得分:3)

事实证明,EF Migrations不喜欢我使用的ulong?数据类型。该属性在没有任何警告的情况下被忽略。

将类型更改为long?允许迁移成功。