【发布时间】:2013-11-16 16:02:35
【问题描述】:
使用 EF6 Code First 约定,我想创建具有同一个表的两个外键的模型。例如,现在我有 Team 模型:
public class Team
{
public Guid Id { get; set; }
public String Name { get; set; }
public virtual ICollection<Match> Matches { get; set; }
}
和匹配模型:
public class Match
{
public Guid Id { get; set; }
public Int32 TeamHomeScore { get; set; }
public Int32 TeamAwayScore { get; set; }
public Guid TeamHomeId { get; set; } // I want these properties to be foreign keys
public Guid TeamAwayId { get; set; } //
public virtual Team TeamHome { get; set; }
public virtual Team TeamAway { get; set; }
}
但在项目运行后,我遇到了下一个异常:
在表“Matches”上引入 FOREIGN KEY 约束“FK_dbo.Matches_dbo.Teams_TeamHomeId”可能会导致循环或多个级联路径。指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。 无法创建约束。
有什么建议吗?
【问题讨论】:
标签: c# .net code-first entity-framework-6