我有这些课程:
public class SystemRequirements : DbEntity
{
public string OS {get;set;}
}
public class Application : DbEntity
{
public string Name {get;set;}
public virtual SystemRequirements MinimumSystemRequirements {get;set;}
public Guid MinimumSystemRequirementsId {get;set;}
public virtual SystemRequirements RecommendedSystemRequirements {get;set;}
public Guid RecommendedSystemRequirementsId {get;set;}
}
我收到一条错误消息:引入外键约束可能会导致循环或多个级联路径。
DbEntity
是一个包含主键的抽象类。[Key] public Guid Id {get;set;}
所以,我改为Application
:
public class Application : DbEntity
{
public string Name {get;set;}
public virtual SystemRequirements MinimumSystemRequirements {get;set;}
[ForeignKey("MinimumSystemRequirements")]
public Guid MinimumSystemRequirementsId {get;set;}
public virtual SystemRequirements RecommendedSystemRequirements {get;set;}
[ForeignKey("RecommendedSystemRequirements")]
public Guid RecommendedSystemRequirementsId {get;set;}
}
所以我的问题是为什么这不起作用?我什至尝试引用Application
in SystemRequirements
,但没有用?
请不要因为拼写错误而拖拉这篇文章。我的代码在 VS 上很好,我复制并粘贴而不是输入。