asp.net EF核心:同一个表上的多对多关系

of1yzvn4  于 2023-06-07  发布在  .NET
关注(0)|答案(1)|浏览(145)

假设我有这个类:

public class Produto
    {
        [Key]
        public int Id { get; set; }
        public string Nome { get; set; } = String.Empty;
//other stuff
        public ICollection<Produto>? ProdutosRelacionados { get; set; }
    }

我有一个表“Produto”,其中有许多“Produto”(相关产品,如在每个电子商务)我如何实现它在流利的API?谢谢
我试图手动配置一个链接表。EF核心不让我做迁移。不能为同一个表创建具有两个forigner键的类...

vfh0ocws

vfh0ocws1#

嗯,这里的人都不怎么帮忙,不是吗?我找到解决办法了您必须配置双向导航,因此必须创建另一个属性
...

public ICollection<Produto>? ProdutoPai{ get; set; }

...
然后在fluent API上配置它,如下所示
...

builder.Entity<Produto>(ent => {
//outras configs da entidade...
ent.HasMany(p => p.ProdutosRelacionados)
.WithMany(p => p.ProdutoPai)
.UsingEntity(j => j.ToTable("ProdutosRelacionados"));
});

...
谢谢你什么都没做。

相关问题