私は、SellinRequest、MortgageAndRent、およびAlbumという名前の3つのエンティティを持っています。 SellinRequestとMortgageAndRentのそれぞれにアルバムがあるかもしれません。2つの1対1の関係をマップする方法
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);
}
しかし、私は結果を得ることができませんでした。私はこれら2つのテーブルをアルバムテーブルに関連付ける方法を知らない!
として、アルバムのプロパティをマークしています。また、 "WithOptionalPrincipal"の後に、 "MapKey"を外部キーを指すように推奨します。 –
あなたが何を意味するかははっきりしません。しかし、私は結果を得ることができませんでした。 –
@Milos Mijatovic私を覚えていただきありがとうございます。元のコードではIdを持っていますが、ここでIDを書くのを忘れました。 –