tutorial one many from framework first existing español create code entity-framework ef-code-first entity-framework-6 mapping

entity framework - many - Cómo mapear dos relaciones One or Zero to One



entity framework many to many (1)

Aquí es cómo lo haría sin la sintaxis de Fleunt. Tenga en cuenta los nuevos campos de identificación y que marqué las propiedades del álbum como virtuales

public class SellingRequest { public int Id { get; set; } public int AlbumId {get;set;} public virtual Album Album { get; set; } } public class MortgageAndRent { public int Id { get; set; } public int AlbumId {get;set;} public virtual Album Album { get; set; } } public class Album { public int Id { get; set; } public int SellingRequestId { get; set; } public int MortgageAndRentId { get; set; } public virtual SellingRequest SellingRequest { get; set; } public virtual MortgageAndRent MortgageAndRent { get; set; } public virtual List<Photo> Photos { get; set; } }

Tengo tres entidades con el nombre de SellinRequest, MortgageAndRent y Album. Cada uno de SellinRequest y MortgageAndRent puede tener un álbum.

public class SellingRequest { public int Id { get; set; } public Album Album { get; set; } } public class MortgageAndRent { public int Id { get; set; } public Album Album { get; set; } } public class Album { public int Id { get; set; } public SellingRequest SellingRequest { get; set; } public int SellingRequestId { get; set; } public MortgageAndRent MortgageAndRent { get; set; } public int MortgageAndRentId { get; set; } public List<Photo> Photos { get; set; } }

Esta es la lógica que quiero que se implemente:

  • (SellingRequest 1 .... 0-1 Album)
  • (MortgageAndRent 1 .... 0-1 Album)

Con estas asignaciones:

public class SellingRequestMap : EntityTypeConfiguration<SellingRequest> { public SellingRequestMap() { this.ToTable("SellingRequest"); this.HasKey(sR => sR.Id); // Each SellingRequest may have one Album. (SellingRequest 1 .... 0-1 Album) this.HasOptional(sR => sR.Album).WithOptionalPrincipal(a => a.SellingRequest).WillCascadeOnDelete(false); } } public RentAndMortgageMap() { this.ToTable("MortgageAndRent"); this.HasKey(mR=>mR.Id); // Each MortgageAndRent may have one Album. (MortgageAndRent 1 .... 0-1 Album) this.HasOptional(sM => sM.Album).WithOptionalPrincipal(a => a.MortgageAndRent).WillCascadeOnDelete(false); }

Pero no pude obtener el resultado. ¡No sé cómo relacionar estas dos tablas con la tabla de Álbumes!