1

既存のテーブルを持つ既存のプロジェクトにEntityFrameworkを追加しました。これらのテーブルには、NULLである2つのuniqueidentifier列が含まれています。これらからデータをロードすると、モデルプロパティもnullになり、Guid.Emptyではなくなります。コンストラクターとコンストラクターの両方を使用してデフォルト値を設定してみました

AlterColumn("tblItems", "ThreadRoot", c => c.Guid(nullable: true, defaultValue: Guid.Empty)); 

しかし、それでもnullを返します。

どうすればこれを達成できますか?

4

2 に答える 2

0

これらからデータをロードすると、モデルプロパティもnullになり、Guid.Emptyではなくなります

これは、メソッドnullを発行する前に保存されていたため、すでに存在するデータにが含まれるためです。AlterColumn適切な列が設定されていない場合、新しいレコードが挿入されると、デフォルト値が書き込まれます。

于 2012-05-22T11:56:23.437 に答える
0

モデルで、デフォルト値をプロパティに追加するだけです。

public class Item {
    public Guid ThreadRoot { get; set; }

    public Item() {
        ThreadRoot = Guid.Empty; //default value
    }
 }
于 2012-05-22T11:51:01.603 に答える