「関係」エンティティがあるとします。
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 にマップしたい場合、次の違いは何ですか。
modelBuilder.Entity<Relationship>()
.HasRequired(c => c.FriendOne)
.WithMany()
.HasForeignKey(u => u.FriendOneId);
この:
modelBuilder.Entity<Relationship>()
.HasRequired(c => c.FriendOne)
.WithMany()
.HasForeignKey(u => u.RelationshipId);
新しいDBをセットアップするたびに、これに混乱します。私が見つけたドキュメントとSOに関する回答は、これについて互いに矛盾しているようです... HasForeignKeyの使用方法を理解する上で助けていただければ幸いです。