11

Code First を使用する場合、EntityFramework は、カスタムのゲッターとセッターを持つプロパティをマップするために正確に何をしますか?

シリアル化するときにプロパティのゲッターを呼び出し、逆シリアル化するときにセッターを呼び出すだけですか? だから私は何か愚かなことをすることができました...

public class Foo {

    public DateTime TimeAccessed {
        get {
            return DateTime.Now;
        }
        set {
            TimeDeserialized = DateTime.Now;
        }
    }

    [NotMapped]
    public DateTime TimeDeserialized { get; private set; }
}

上記のコードやそれに類するものを使用することに実際には興味がないことに注意してください...これは説明のみを目的としています。

また、Code First でプロパティをマッピングする場合、すべてのゲッターとセッターは である必要がありますpublicか?

4

1 に答える 1

13

はい; EF はゲッターとセッターを呼び出します。
実際、EF が他の方法で機能することは不可能です。

いいえ; プライベートにすることもできます。(ただし、プロパティ自体はパブリックである必要があります)

于 2012-08-15T00:04:47.683 に答える