1

「関係」エンティティがあるとします。

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の使用方法を理解する上で助けていただければ幸いです。

4

1 に答える 1