Entity framework 实体框架——引用同一个表的两个属性
我继续我的实体框架的冒险,但现在我又被卡住了。我有两个小班:Entity framework 实体框架——引用同一个表的两个属性,entity-framework,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
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类上有两个反向属性,告诉已安装和已修复机器的列表,我对此不太关心。当我尝试在迁移后更新数据库时,我得到一个错误。我以为ForeignKeyAttribute是关键,但显然它对我不起作用。以下是错误:
在表“Machines”上引入外键约束“FK_dbo.Machines_dbo.Employees_InstalledByID”可能会导致循环或多个级联路径。指定“在删除时不执行操作”或“在更新时不执行操作”,或修改其他外键约束。
无法创建约束。请参阅前面的错误
此外,我还尝试了OnModelCreating和FluentAPI,但我的尝试没有成功。任何关于我做错了什么以及如何修复的建议都将不胜感激。谢谢大家。SQL Server不支持多个级联删除。必须至少将其中一个设置为不级联。我会尝试找出一个类似的问题。可能是重复的