【问题标题】:How to map a private identity field in FluentNHibernate?如何在 FluentNHibernate 中映射私有身份字段?
【发布时间】:2011-02-20 10:14:48
【问题描述】:

我正在尝试将我的 NHibernate 映射文件转换为 FluentNHibernate。但是,我已经坚持了我的第一次尝试。这是一个 XML 映射文件的片段:

<class name="Contact" table="tblXContacts">
  <id       name="_id"                column="ContactID" unsaved-value="0" access="field">
  <generator class="identity"/>
</id>

FluentNHibernate 默认的 fluent 语言要强制我使用属性。虽然我确实公开了一个类型安全的 ContactId 属性以供在代码中使用,但我始终无法让 NHibernate 接受此值类型作为 Id,因此我的公共属性即时构造了一个新的值类型。

我发现在我的 FluentNHibernate ClassMap 中,我可以访问 IdMapping 并直接操作其属性(例如名称、访问权限),但是关于如何在 fluent 构建器之外执行操作的文档要少得多。例如,如何设置列?有“AddColumn(...)”,但它需要一个 ColumnMapping,这是我开始迷路的地方。

【问题讨论】:

    标签: nhibernate fluent-nhibernate fluent


    【解决方案1】:

    在 fluentnhibernate wiki 上有一些关于映射私有成员的文档:http://wiki.fluentnhibernate.org/Fluent_mapping_private_properties。这是关于私有属性,但可能会有所帮助。

    【讨论】:

    • 这也适用于字段。维基页面尚未更新以反映这一点。
    • 不幸的是,虽然这确实描述了如何处理私有属性,但它似乎没有涵盖如何处理字段。
    • 您是否真的尝试在您的领域中使用 Reveal?试试吧,如果它不起作用,让你的领域成为私有财产
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    • 2011-08-25
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    • 1970-01-01
    • 2012-03-14
    相关资源
    最近更新 更多