0

私はEF 4.3と移行スクリプトを使用しています。しかし、彼のフィールドが作成されないプロパティに問題があります。

public class Test {
    [HiddenInput(DisplayValue = false)]
    public int Id { get; set; }

    [ScaffoldColumn(false)]
    public string Author { get; set; }

    [ScaffoldColumn(false)]
    public DateTime UpdateUtc { get; set; }

}

ここでコマンドを実行すると、次Add-Migrationのコードが生成されます。

    public override void Up()
    {
        CreateTable(
            "Test",
            c => new
                {
                    Id = c.Int(nullable: false, identity: true),
                    Author = c.String(),
                })
            .PrimaryKey(t => t.Id);

    }

私の最初の考えはScaffoldColumn属性のためでしたが、作成者フィールドは正しく追加されています。私が見る唯一の違いは、フィールドの型がUpdateUtc プリミティブ型ではないことです。

この問題の原因は何ですか?

ありがとう

4

1 に答える 1

0

次のようなものを使用して、手動で追加してみてください。

UpdateUtc = c.DateTime()

そうあるべきだと思います。次に、Update コマンドを使用してデータベースを更新します。データベースを生成するときは、生成された列の名前を見て、[UpdateUtc] のようなものかどうかを確認してください。その場合、名前 UpdateUtc si は予約されており、使用できません。

于 2012-06-06T15:49:31.110 に答える