nhibernate - (流畅)NHibernate : One entity composed of fields from different tables

标签 nhibernate fluent-nhibernate nhibernate-mapping

有没有一种方法可以编写 NHibernate 映射,以便您可以拥有一个由不同数据库表中的字段组成的实体?

例如,我有一个人员和地址表,我希望地址字段出现在我的人员对象中。

我想要一个像这样的实体:

public class person
{
    public virtual Guid Key{get; set;}
    public virtual string Name {get; set;}
    public virtual string Age {get; set;}
    public virtual string Address1 {get; set;} //from address table
    public virtual string Address2 {get; set;} //from address table

}

最佳答案

如果您使用 Fluent NHibernate,则可以使用 WithTable,如下例所示:

public class PersonMap : ClassMap<Person>
{
  public PersonMap()
  {
    Id(x => x.Key, "[Key]"); // Explicitly specify escaped column name to 
                             // avoid problems with reserved words
    Map(x => x.Name);
    Map(x => x.Age);

    WithTable("Address", m =>
    {
      m.Map(x => x.Address1);
      m.Map(x => x.Address2);
    });
  }
}

关于nhibernate - (流畅)NHibernate : One entity composed of fields from different tables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/585450/

相关文章:

nhibernate - 通用 ADOException : could not insert

c# - 如何停止 nHibernate 以保存 View ?

nhibernate - 使用 NHibernate 对象进行依赖注入(inject)

nhibernate - Fluent NHibernate 映射到没有暴露属性的私有(private)/ protected 字段

c# - 在 Fluent NHibernate 中创建复合索引?

.net - FluentNHibernate 映射;无法使用比例/精度映射 double 或小数

sql-server-2005 - 具有不连续索引列的 Nhibernate 列表映射

NHibernate 属性公式过滤器

fluent-nhibernate - Fluent Nhibernate Order-By 集合

NHibernate 遗留数据库多对一