私はこれを機能させるために一日中試しました。EFのFluentAPIについて多くのことを学びました(たとえば、これは優れた記事です)が、成功しませんでした。
私には3つのエンティティがあります:
public class Address
{
[Key]
public virtual int AddressId { get; set; }
public virtual string AddressString { get; set; }
}
public class User
{
[Key]
public virtual int UserId { get; set; }
public virtual ICollection<Address> Addresses { get; set; }
}
public class House
{
[Key]
public virtual int HouseId { get; set; }
public virtual Address Address { get; set; }
}
とのすべての組み合わせを試しHasMany, HasOptional, WithOptional, WithOptionalDependent
てみWithOptionalPrincipial
ましたUser
House
protected override void OnModelCreating(DbModelBuilder modelBuilder)
私はそれを機能させることができません。私が欲しいものは明確にすべきだと思います。ユーザーは複数のアドレスを持っている可能性があります(最初は少なくとも1つを強制したいのですが、ユーザーがオプションのアドレスを持っていれば幸いです...)ハウスにはアドレスが1つだけあります-これは必要。家の住所がカスケード削除されるといいですね。