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 チュートリアルから:

プロパティを public と宣言する必要はありません - NHibernate は、内部、保護、保護された内部、または非公開の可視性を持つプロパティを永続化できます。

ItemID を private に設定するだけです

于 2010-10-19T23:57:00.323 に答える