最初に既存のデータベースでコードを使用しようとしています。ここまではうまくいきましたが、今は 1 対多対 1 の関係で失敗しています。
データベースにはテーブル customer とテーブル address があり、アドレスには customerid はありませんが、外部の 1 対多キー FK_Address_Customer があります。
edmx から自動作成されたクラスは次のようになります
お客様:
public int CustomerID (PK)
public Address Address
住所:
public int AddressID (PK)
public HashSet<Customer> Customers
流暢な API で何をしても、無効な列 Address_AddressID で失敗するか、参照制約エラーで多重度が競合します。
私は仮定しました:
//Customer has one address, address can have multiple customers<br/>
pModelBuilder.Entity<Customer>().HasRequired(m => m.Address).WithMany(x => x.Customers);
//Address has multiple customers, customer has one address<br/>
pModelBuilder.Entity<Address>().HasMany(m => m.Customers).WithRequired();
HasForeignKeyを使用してデータベースに外部キーがない他のテーブルでこれを修正しましたが、上記のシナリオでは機能しません。また、MapKey を介して外部キー名を渡そうとしましたが、運もありませんでした。
この単純な関係をどのように進めればよいでしょうか?
ありがとう