如何在Entity Framework 7中正确设置自引用?

问题描述 投票:0回答:1

我正在尝试使用 Entity Framework 7 设置数据库并添加自引用多对多关系。我的项目中有这个课程:

public class Customer : User
    {
        // ...
        [JsonIgnore]
        public ICollection<Customer> Friends { get; set; } = new List<Customer>();
        // ...
    }

由于我是 EF 新手,我想知道设置自引用的最佳方法是什么? EF 会默认完成这项工作吗?还是我应该在 OnModelCreating 方法中添加一些内容?

c# entity-framework asp.net-core .net-core entity-framework-core
1个回答
0
投票

我将其添加到 OnModelCreating 方法中,并且实现了我想要的目标。

modelBuilder.Entity<Customer>()
    .HasMany(c => c.Friends)
    .WithMany()
    .UsingEntity<Dictionary<string, object>>(
        "CustomerFriend",
        j => j
            .HasOne<Customer>()
            .WithMany()
            .HasForeignKey("CustomerId"),
        j => j
            .HasOne<Customer>()
            .WithMany()
            .HasForeignKey("FriendId")
    );
© www.soinside.com 2019 - 2024. All rights reserved.