3

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

4

1 回答 1

4

只读属性访问器,用于持久化不提供 set 方法或支持字段的计算属性。然后可以将计算的值用于查询目的,但不会将其读回域中。

来源:链接

于 2012-10-26T21:29:10.073 回答