假设我有一个“关系”实体:
public class Relationship
{
[Key]
[Required]
public int RelationshipId { get; set; }
[Required]
public int FriendOneId { get; set; }
public virtual User FriendOne{ get; set; }
[Required]
public int FriendTwoId { get; set; }
public virtual User FriendTwo { get; set; }
}
如果我想用模型构建器映射这些关系,这有什么区别:
modelBuilder.Entity<Relationship>()
.HasRequired(c => c.FriendOne)
.WithMany()
.HasForeignKey(u => u.FriendOneId);
和这个:
modelBuilder.Entity<Relationship>()
.HasRequired(c => c.FriendOne)
.WithMany()
.HasForeignKey(u => u.RelationshipId);
每次设置新数据库时,我都会对此感到困惑。我找到的文档和关于 SO 的答案似乎在这方面相互冲突......在理解如何使用 HasForeignKey 方面的任何帮助将不胜感激。