我看了这个SO问题。
我想在 EF 5 中做类似的事情。我没有看到 ForeignKey 属性,而是 EF5 中的 Association 属性。
另外,有人可以解释这是什么/意味着什么:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Match>()
.HasRequired(m => m.HomeTeam)
.WithMany(t => t.HomeMatches)
.HasForeignKey(m => m.HomeTeamId)
.WillCascadeOnDelete(false);
modelBuilder.Entity<Match>()
.HasRequired(m => m.GuestTeam)
.WithMany(t => t.AwayMatches)
.HasForeignKey(m => m.GuestTeamId)
.WillCascadeOnDelete(false);
}
这是解释:
主键按默认约定映射。球队必须有两个比赛集合。您不能有两个 FK 引用的单个集合。匹配在没有级联删除的情况下进行映射,因为它在这些自引用多对多中不起作用。
我想做的与链接中的示例非常相似,但我不知道:
- 当我需要修改 DbContext
- 主键何时相互链接
- 当我需要显式使用关联来创建关系时
任何解释表示赞赏。