У меня есть три объекта с именем SellinRequest, MortgageAndRent и Album. У каждого из SellinRequest и MortgageAndRent может быть Альбом.Как сопоставить две связи Один или от нуля до нуля
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; }
}
Это логика я хочу быть реализованы:
- (SellingRequest 1 .... 0-1 альбом)
- (MortgageAndRent 1 .... 0-1 Альбом)
С помощью этих отображений:
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);
}
Но я не смог получить результат. Я не знаю, как связать эти две таблицы с альбомом!
Ваше предприятие Альбом не имеет ключа определен. Также после «WithOptionalPrincipal» я бы рекомендовал «MapKey» указать на внешний ключ. –
Не совсем понятно, о чем вы говорите * Но я не смог получить результат *. –
@ Милос Миятович Большое спасибо за то, что вы меня запомнили. В исходном коде у меня есть Id, но я забыл написать Id здесь. –