NHibernate Map集合中的默认项

时间:2012-12-17 17:18:36

标签: nhibernate map

假设我有类Foo,如下所示:

public class Foo
{
    public virtual int FooId { get; protected internal set; }
    public virtual List<Bar> bars { get; protected internal set;}
    public virtual Bar DefaultBar { get; set; }
}

其中Foo有一个Bar集合,其属性为DefaultBar,类型为Bar。

条形图集合存储在一个包含以下字段的表格中

FooBarID   int   PK
FooID      int   FK
BarID      int   FK
Default    bit

对于匹配的FooID值集合,只有一行可以具有Default = 1。忽略这种糟糕的设计(遗留系统需要),

在我的地图中,我有以下内容:

<class name="Bar">
  <id name="BarID" generator="native" unsaved-value="0" />
</class>

<class name="Foo">
  <id name="FooID" generator="native" unsaved-value="0" />
  <set name="Bars"
       table="FooBars">
    <key column="FooId" />
    <many-to-many class="Bar" column="BarId" />
  </set>

</class>

如何将单个匹配行中BarID指示的值与Default = 1映射到Foo实例的DefaultBar属性?

1 个答案:

答案 0 :(得分:0)

我认为为您的财产配置“公式”可以帮助您。请参阅this link