2

既存のデータベースで 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()
    {
    }
}

見栄えがよくありません...移行はどこにありますか?

更新データベース -詳細 -スクリプト

アップグレード スクリプトに新しいプロパティが記載されていない

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

モデルの変更を EF 移行に反映させるにはどうすればよいですか?

4

1 に答える 1

3

ulong?EF 移行は、私が使用したデータ型を好まないことがわかりました。そのプロパティは警告なしで無視されました。

タイプを に変更するとlong?、移行が成功しました。

于 2012-06-12T22:22:12.110 に答える