0

忍受我,这是一个遗留系统,所以表关系不是想法。

Dog 具有字段 ID、所有者和名称

DogHouse 有 ID、所有者和名称。它没有对 Dog 的外键引用。相反,它与所有者和名称相关。

在我的 DogMap 中,我需要能够告诉它如何引用它的 Doghouse。我怎么做?当我尝试

  Reference(x=>x.DogHouse).

我在点后面放什么?它不是 ID,应该是 Owner 和 Name。

4

1 回答 1

3

非 id 字段必须是一个属性

Reference(x=> x.DogHouse, "Owner").PropertyRef(house => house.Owner).Readonly();

因为两者都需要我们必须使用一些技巧

DogHouse FakeReferenceProp { get; set; }
public DogHouseMap()
{
    Component(x => FakeReferenceProp, c =>
    {
        c.Map(x => x.Owner, "Owner").Readonly();
        c.Map(x => x.Name, "Name").Readonly();
    });
}

// in DogMap
Reference(x=> x.DogHouse).Columns.Add("Owner", "Name").PropertyRef(house => FakeReferenceProp).Readonly();
于 2013-03-13T10:12:16.280 回答