クラスを適切にマップするための Fluent メソッドの適切な組み合わせを見つけるのに苦労しています。基本的に私がやろうとしていることは次のとおりです。
Person table: PersonID, HomeAddressID (nullable), WorkAddressID (nullable)
Address table: AddressID, Street, etc...
Person
クラスにはとAddress HomeAddress
プロパティAddress WorkAddress
がありますが、ID の整数プロパティはありません。
このクラスには、関連するエンティティAddress
のプロパティがありません。Person
このシナリオのオンラインでの例は見つかりません。適切な組み合わせが見つかりません。Code-first 構成は、常に私を混乱させる良い仕事をしてきました。
これは、私が見つけた例の 1 つに最も近いものですが、 を取得Invalid column name 'HomeAddressID'
しています。これは、おそらく関係の間違った側をマッピングしていることを示しています。
public class PersonConfiguration : EntityTypeConfiguration<Person>
{
// other mappings
HasOptional(p => p.HomeAddress)
.WithOptionalPrincipal()
.Map(x => x.MapKey("HomeAddressID"));
HasOptional(p => p.WorkAddress)
.WithOptionalPrincipal()
.Map(x => x.MapKey("WorkAddressID"));
}
私は正しい軌道に乗っていますか?