我继续与Entity Framework合作,但现在我再次陷入困境。我有两个小班:
public class Machine
{
public int MachineID { get; set; }
public string Name { get; set; }
[Required]
[ForeignKey("InstalledByID")]
public virtual Employee InstalledBy { get; set; }
public int InstalledByID { get; set; }
[Required]
[ForeignKey("LastServicedID")]
public virtual Employee LastServiced { get; set; }
public int LastServicedID { get; set; }
}
public class Employee
{
public int EmployeeID { get; set; }
public string Name { get; set; }
}
我试图设置两个属性:InstalledBy和LastServiced。这两个属性都是Employee类的实例。另外,我不在乎Employee类上有两个REVERSE属性,它们告诉已安装的机器列表以及修复的机器。当我在迁移后尝试更新数据库时,出现错误。我认为ForeignKeyAttribute是关键,但显然它不适合我。这是错误:
介绍FOREIGN KEY约束' FK_dbo.Machines_dbo.Employees_InstalledByID'在桌子上'机器'可能会导致循环或多个级联路径。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。 无法创建约束。查看以前的错误。
另外,我尝试过使用OnModelCreating和FluentAPI,但我的尝试没有用。关于我做错了什么以及如何解决它的任何指示都将非常感激。谢谢大家。