NHibernate域对象跨越多个表

cto*_*orx 0 fluent-nhibernate

假设我有这个域对象......

public class SpansMultipleTables
{
     public int CommonID {get; set;}

     public string Table1Value {get; set;}

     public int Table2Value {get; set;}

     public float Table3Value {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
  • CommonID​​属性映射到所有表的"ID"列.
  • Table1Value属性映射到表"Table1"中的"Value"列
  • Table2Value属性映射到表"Table2"中的"Value"列
  • Table3Value属性映射到表"Table3"中的"值"列

使用FluentNHibernate,如何为这个对象设置一个真正没有中心表的地图?

Jam*_*ory 5

试试Join,但我建议你改变你的设计.

public class SpansMultipleTablesMap : ClassMap<SpansMultipleTables>
{
  public SpansMultipleTablesMap()
  {
    Id(x => x.CommonID);
    Join("Table1", m =>
    {
      m.Map(x => x.Table1Value, "Value");
    });
    Join("Table2", m =>
    {
      m.Map(x => x.Table2Value, "Value");
    });
    Join("Table3", m =>
    {
      m.Map(x => x.Table3Value, "Value");
    });
  }
}
Run Code Online (Sandbox Code Playgroud)