私は大いに地獄になりましたが、完全に得ることができませんでした。here私は有用な情報はほとんど見つけられませんでしたが、成功することはありませんでした。以下は私の質問ですEntity Framework 5の1対1/1対1対多の関係の両方
私は以下のクラスを持ち、エンティティモデルでリレーションを指定する方法が必要です。
public class User
{
[Key]
public int UserId { get; set; }
public int? HomeAddressId { get; set; }
public virtual ICollection<Address> Addresses { get; set; }
public virtual Address HomeAddress{ get; set; }
}
public class Address
{
[Key]
public int AddressId { get; set; }
public int UserId { get; set; }
public string AddressLine1 { get; set; }
// other properties
public virtual User User { get; set; }
}
各ユーザーは多数のアドレスを持ち、各アドレスは1人のユーザー(1対多)に関連付けられています。 アドレスの1つがホームアドレスであるため、ユーザにはHomeAddres(オプション)があります。 HomeAddressIdはFK(nullable)to Addressテーブルです。最初に好ましくはFluent APIメソッドでエンティティモデルコードでこの関係を定義するにはどうすればよいですか?
あなたのコードをコピーしてここに貼り付けた場合、間違った定義があります。ユーザーのアドレスはありません。私はそれを変えた。 このコードは機能します。ただし、モデルを変更することができます。アドレスはすべてのアドレスを収集します。アドレスのAddresTypeメンバーとしてタイプ別にアドレスを区切ることができます。 –