【发布时间】:2018-01-18 13:20:34
【问题描述】:
这个问题已经问了好几次了,但是我目前看到的解决方案都没有解决这个问题。
我有这样的桌子。
public class TableA
{
public int Id {get;set;}
public int TableBRefAId {get; set;}
public int TableBRefBId {get; set;}
[Required]
public TableB ItemA {get;set;}
[Required]
public TableB ItemB {get;set;}
}
public class TableB
{
public int Id {get;set;}
public virtual IList<TableA> TableAList { get; set; }
}
然后在 DataContext 我有这个。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<TableA>()
.HasRequired<TableB>(p => p.ItemA)
.WithMany(pp => pp.TableAList )
//.HasForeignKey(x => x.TableBRefAId)
.WillCascadeOnDelete(false);
modelBuilder.Entity<TableA>()
.HasRequired<TableB>(p => p.ItemB)
.WithMany(pp => pp.TableAList )
//.HasForeignKey(x => x.TableBRefBId)
.WillCascadeOnDelete(false);
}
当我尝试运行“Add-Migration addedTableA”时,出现以下错误。
指定的架构无效。错误:未加载关系“TableA_ItemA”,因为类型“TableB”不可用。
我需要它的工作方式是 TableA 具有 TableB 的 2 个必需属性。
如果 TableA 被删除,TableB 不受影响。
如果 TableB 被删除,TableA 也被删除
【问题讨论】:
-
2 个引用需要 2 个集合。
标签: c# sql entity-framework