对于多重外键的概念,请参考
Sql 多重外键约束 一章
以一个部门类定义有中正副两个管理者的情况为例
//部门类定义
public class Department
{
public int ID { get; set; }
public string Name { get; set; }
public int PrimaryManagerID { get; set; } //正管理者外键
public virtual Manager PrimaryManager { get; set; } //正管理者导航
public int SecondManagerID { get; set; } //副管理者外键
public virtual Manager SecondManager { get; set; } //副管理者导航
}
//管理者类定义
public class Manager
{
public int ID { get; set; }
public string Name { get; set; }
public virtual ICollection<Department> PrimaryDepartments { get; set; } //正职部门导航
public virtual ICollection<Department> SecondDepartments { get; set; } //副职部门导航
}
这样的定义会使EF产生一个异常:
将 FOREIGN KEY 约束 'FK