4

是否可以设置 NHibernate 来加载/保留类的非公共属性?例如,我可能有一个 Item 类,如下所示。

public class Item
{
    public int ItemID {get; set;}
    public string Name{get; set;}
}

使用以下映射:

<class name="RCL.Item" table="Items">
    <id name="ItemID" type="Int32" column="ItemID">
        <generator class="native"/>
    </id>
    <property name="Author" />
</class>

但是我真的不希望我的 Item 类的消费者能够更改 ItemID 字段。我可以限制对 ItemID 的 set 访问器的访问吗?如果是这样,我应该将其设置为什么?私有的、受保护的、内部的、受保护的内部?

4

1 回答 1

10

来自 NHibernate 教程:

不需要将属性声明为公共的 - NHibernate 可以持久化具有内部、受保护、受保护的内部或私有可见性的属性。

只需将 ItemID 设置为私有

于 2010-10-19T23:57:00.323 回答