0

我慢してください、これはレガシーシステムなので、テーブルの関係はわかりません。

犬にはフィールドID、所有者、名前があります

DogHouseにはID、所有者、名前があります。Dogへの外部キー参照はありません。むしろ、所有者と名前によって関連付けられています。

DogMapでは、Doghouseを参照する方法を指示できる必要があります。それ、どうやったら出来るの?やってみると

  Reference(x=>x.DogHouse).

ドットの後に何を入れますか?IDではなく、所有者と名前である必要があります。

4

1 に答える 1

3

ID 以外のフィールドは 1 つのプロパティにする必要があります

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 に答える