在使用
?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; }
}
注意我对使用上面的代码或类似的东西没有实际兴趣......它仅用于说明目的。
另外,在使用 Code First 映射属性时,是否需要public
所有 getter 和 setter
是的;EF 确实调用了 getter 和 setter。
EF 实际上不可能以任何其他方式工作。
不,它们甚至可以是私人的。 (尽管财产本身必须是公共的)