c# - NHibernate 嵌套类映射问题

标签 c# nhibernate mapping

我有以下类(class)。如何为 MainBranch.Id 列编写映射文档。我在数据库中没有分支表,只想将 branchId 用于 MAINBRANCHCODE。任何想法?

public class Bundle
        {
            public virtual Decimal Id { get; set; }       
            public virtual BundleEntranceInformation Information { get; set; } 
        }
    public class BundleEntranceInformation
        {
            public virtual Branch MainBranch { get; set; }      
        }
    public class Branch
        {
            public virtual short Id { get; set; }       
        }

我的映射文档:

<class name="PromissoryNotes.Server.Data.Bundle, PromissoryNotes.Server.Data" table="BUNDLE" lazy="true">
    <id name="Id" column="ID" type="Decimal">
      <generator class="increment" />
    </id>   
    <property name="Information.MainBranch.Id" column="MAINBRANCHCODE" type="short"></property>

  </class>

最佳答案

使用组件映射

<class name="BundleEntranceInformation">
  <component name="MainBranch">
    <property name="Id" column="MAINBRANCHCODE"/>
  </component>
</class>

关于c# - NHibernate 嵌套类映射问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1588591/

相关文章:

c# - 我应该将 Entity Framework 包含在我的类库中还是直接包含在应用程序中?

c# - 在 WCF 服务中使用语句

c# - 无法在数据库更新时保存更改。可能有奇怪的延迟加载行为?

c# - 通过 ASP.NET MVC 的 IIS 发送电子邮件

C# XmlSerializer 有条件地序列化 List<T> 项

NHibernate代理工厂

nhibernate - NHibernate 查询缓存过期

java - 我可以指定与过滤器的 hibernate 关系吗?

xml - Castor - 解码一个简单的重复组

java - MapStruct:如何将所有属性映射到列表的第一个元素?