c# - NHibernate 可以设置非公共(public)属性吗?

标签 c# nhibernate private protected

是否可以设置 NHibernate 来加载/保留类的非公共(public)属性?例如,我可能有一个 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 访问器的访问吗?如果是这样,我应该将其设置为什么?私有(private)的、 protected 、内部的、 protected 内部?

最佳答案

来自 NHibernate 教程:

Properties need not be declared public - NHibernate can persist a property with an internal, protected, protected internal or private visibility.

只需将 ItemID 设置为私有(private)即可

关于c# - NHibernate 可以设置非公共(public)属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3973735/

相关文章:

c# - 在 MVC 中从 Google OAuth API 检索出生日期

c# - 从处理 NativeWindow 中的 WM_GETOBJECT 返回 IOleCommandTarget

windows - Windows 服务中带有 Autofac 的 NHibernate session 处理程序

asp.net-mvc - 我的模型应该住在哪里? Web 层还是数据层? (MVC + NHibernate)

iphone - 这是否被视为在 iPhone 开发中使用私有(private)函数,从而非法?

python - 是否有一种 Python 方法可以访问类的所有非私有(private)和非内置属性?

c# - 如何在c#中传递回调?

c# - 导致绑定(bind)不更新的验证错误

c# - 使用 Fluent Nhibernate Table-Per-Subclass 策略时可以指定身份列吗?

javascript - 自执行函数中的内部变量处理