NoSetter 和 ReadOnly 有什么区别?
NHibernate 定义了以下枚举:
namespace NHibernate.Mapping.ByCode
{
public enum Accessor
{
Property = 0,
Field = 1,
NoSetter = 2,
ReadOnly = 3,
None = 4,
}
}
文档是这样说 NoSetter 的,但没有提到 ReadOnly:
NHibernate 在设置值时会直接访问该字段,在获取值时会使用 Property。这可以在属性仅公开 get 访问器时使用,因为您的 API 的使用者无法直接更改值。需要一个命名策略,因为 NHibernate 使用 name 属性的值作为属性名称,并且需要告知该字段的名称是什么。
http://nhibernate.info/doc/nh/en/index.html#mapping-declaration-property