Las relaciones uno a uno y uno a muchos en Entity Framework 5 codifican primero

Intenté todo el día para que esto funcione. Aprendí mucho sobre la API Fluent de EF (por ejemplo,esta Es un excelente artículo), sin embargo no tuve éxito.

Tengo tres Entidades:

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

y probé todas las combinaciones deHasMany, HasOptional, WithOptional, WithOptionalDependent yWithOptionalPrincipial podría pensar en ambosUser yHouse en el

protected override void OnModelCreating(DbModelBuilder modelBuilder)

Simplemente no puedo hacerlo funcionar. Creo que debería quedar claro, lo que quiero. Un usuario puede tener más de una dirección (en primer lugar quiero forzar al menos una, pero ahora me gustaría que un usuario tenga las direcciones opcionales ...) mientras que una casa tiene exactamente una dirección, y esto es necesario. Sería bueno si la dirección de una casa se eliminara en cascada.

Respuestas a la pregunta(2)

Su respuesta a la pregunta