我需要引用表中的一行而不是其主键,而是另外两列。如何在fluent-nhibernate中配置它?
我正在使用FluentNHibernate 1.3
示例:如果另一个表YY具有列foo和bar(假设数据类型为整数,如果有帮助),那么不是主键。我当前的类XX具有这些属性,我想从XX引用YY对象。如果本地成员是YYObject并且引用它的字段是XX.foo和XX.bar,我应该在ClassMap<XX>
类中放入以下内容吗?
CompositeId(x => x.YYObject).KeyProperty(x => x.foo).KeyProperty(x => x.bar);
我也不太确定应该如何调整ClassMap<YY>
类。如果你已经做过这些事情,我们可以使用一些指导。
我们正处理一个遗留的情况,所以我不能挥手让它全部消失。
答案 0 :(得分:0)
如果可能的话,在两个属性周围定义一个Component
Component(x => x.Comp, c =>
{
c.Map(x => x.Foo);
c.Map(x => x.Bar);
});
并引用它
References(x => x.ParentObject)
.KeyColumns.Add("parent_foo", "parent_bar");
.PropertyRef(p => p.Comp);