Sowohl Eins-zu-Eins- als auch Eins-zu-Viele-Beziehungen in Entity Framework 5 Code First

Ich habe den ganzen Tag versucht, dies zum Laufen zu bringen. Ich habe viel über die Fluent API von EF gelernt (z.diese ist ein ausgezeichneter Artikel), aber ich hatte keinen Erfolg.

Ich habe drei Entitäten:

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; }
}

und probiert alle kombinationen vonHasMany, HasOptional, WithOptional, WithOptionalDependent undWithOptionalPrincipial Ich könnte für beide denkenUser undHouse in dem

protected override void OnModelCreating(DbModelBuilder modelBuilder)

Ich kann es einfach nicht zum Laufen bringen. Ich denke es sollte klar sein, was ich will. Ein Benutzer kann mehr als eine Adresse haben (an erster Stelle möchte ich mindestens eine erzwingen, aber jetzt wäre ich froh, wenn ein Benutzer die Adressen optional haben könnte ...), während ein Haus genau eine Adresse hat - und das ist erforderlich. Es wäre schön, wenn die Adresse eines Hauses überlappend gelöscht würde.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage