EntityFramework Code First对属性getter/setter做了什么?

Eri*_*ric 10 .net c# entity-framework ef-code-first

在使用Code First时,EntityFramework到底映射具有自定义getter和setter的属性到底是做什么的?

是否只是在序列化时调用属性的getter,在反序列化时调用setter?所以我可以做一些傻事......

public class Foo {

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

    [NotMapped]
    public DateTime TimeDeserialized { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

注意我对使用上述代码或类似内容没有实际兴趣...它仅用于说明目的.

此外,在使用Code First映射属性时,是否需要执行所有getter和setter public

SLa*_*aks 13

是; EF确实会调用getter和setter.
EF实际上不可能以任何其他方式工作.

没有; 他们甚至可以是私人的.(虽然房产本身必须公开)