1

我需要引用表中的一行,而不是通过其主键,而是通过另外两列。如何在 fluent-nhibernate 中配置它?

我正在使用 FluentNHibernate 1.3

示例:如果另一个表 YY 有列 foo 和 bar(假设数据类型是整数,如果有帮助的话)它们不是主键。我当前的 XX 类具有这些属性,我想从 XX 引用一个 YY 对象。ClassMap<XX>如果本地成员是 YYObject 并且引用它的字段是 XX.foo 和 XX.bar ,我应该在类中添加以下内容吗?

CompositeId(x => x.YYObject).KeyProperty(x => x.foo).KeyProperty(x => x.bar);

我也不太确定ClassMap<YY>应该如何相应地调整课程。如果你做过这样的事情,我们可以使用一些指导。

我们正在处理遗留问题,所以我不能挥手让这一切消失。

4

1 回答 1

0

如果可能的话,围绕这两个属性定义一个组件

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);
于 2012-10-26T11:41:00.917 回答