【发布时间】:2016-05-07 23:54:08
【问题描述】:
您好,我的问题与此处的旧帖子相同,在带有 EF7 的 MVC 6 中提供的解决方案对我不起作用很简单
public class Match
{
[Key]
public int MatchId { get; set; }
public DateTime playday { get; set; }
public float HomePoints { get; set; }
public float GuestPoints { get; set; }
public int HomeTeamId { get; set; }
public int GuestTeamId { get; set; }
[ForeignKey("HomeTeamId")]
[InverseProperty("HomeMatches")]
public virtual Team HomeTeam { get; set; }
[ForeignKey("GuestTeamId")]
[InverseProperty("AwayMatches")]
public virtual Team GuestTeam { get; set; }
}
public class Team
{
public int TeamId { get; set; }
public String name { get; set; }
public virtual ICollection<Match> HomeMatches { get; set; }
public virtual ICollection<Match> AwayMatches { get; set; }
}
这是我找到的最好的方法,因为我可以添加一个新的迁移并且一切正常,但是当我更新数据库时,我会收到这样的错误
在表“Match”上引入 FOREIGN KEY 约束“FK_Match_Team_HomeTeamId”可能会导致循环或多个级联路径。指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。 无法创建约束或索引。查看以前的错误。
【问题讨论】:
-
如果您将问题附加到上下文类的定义中(继承自
DbContext),这将很重要,其中使用了Match和Team。可以在上下文类中进行一些更改来解决问题。
标签: asp.net-mvc entity-framework entity-framework-core