过去用NHibernate映射自动属性是可能的,但从版本3.2开始(不替换实体验证器),请参阅NH _ dev讨论。
我理解protected的要求,但为什么是internal?这破坏了封装,只是感觉很脏。
唯一的选择是回到后备领域吗?
UPDATE:令人讨厌,但事实证明,internal并不是必需的。因此,这是回到支持字段或使用受保护的设置器与避免在构造函数或面临很难追踪错误的风险中设置值之间的混淆。谢谢法比奥和@Nexus指出我的错误。
发布于 2011-05-25 11:09:29
迈克尔,
public string Foo { get; protected set; }仍然是可能的,开发人员的讨论是关于在使用惰性属性时可能导致错误的public string Foo { get; private set; }。
发布于 2011-05-24 18:09:05
NHibernate很脏。它使用反射来访问属性和字段。
您甚至可以将private属性和字段映射为数据点。
NHibernate完全忽略了它需要访问的元素的可见性。
发布于 2011-12-21 21:08:40
public class Class{
public string Foo { get; private set; }
}
Property(class=> class.Foo);然后,您需要在您的配置中关闭代理验证:
Config.Proxy(p => {p.Validation = false});
https://stackoverflow.com/questions/6114869
复制相似问题