我有兩個類:實體框架:如何創建具有相同的對象雙重關係(1-1和許多-1)
class Sub
{
public Guid Id { get; set; }
public DateTime ValidDate { get; set; }
public Guid MasterId { get; set; }
public Master Master { get; set; }
}
和
class Master
{
public Guid Id { get; set; }
public int Data { get; set; }
public ICollection<Sub> Subs { get; set; }
public Sub MainSub { get; set; }
}
簡單,高手有一個主要的子集來定義它,並且可以有0個或更多的「次要」子集。 我試着做映射這樣
var mBuilder = modelBuilder.Entity<Master>();
mBuilder.HasMany(m => m.Subs).WithOne(m => m.Master).HasForeignKey(m => m.MasterId);
mBuilder.HasOne(m => m.MainSub).WithOne(m => m.Master);
但我預期(「主不能參加兩個關係」)的異常。我不想改變我的模型,因爲它適合我需要的東西,我該如何執行這樣的映射?
想想你將如何在SQL中建模。無法用一個FK完成。 –