EF Core 5 与同一张表的多对多关系?

时间:2021-01-28 22:34:28

标签: entity-framework many-to-many core

一个产品可以有许多其他相关产品。以下内容完美地创建了连接表,但是当我将产品添加到另一个产品的 RelatedProducts 时,我在保存时收到以下错误:“尝试保存更改时,“ProductAssociation.ProductID”的值未知。这是因为该属性也是关系中主体实体未知的外键的一部分。

modelBuilder.Entity<Product>()
                .HasMany(x => x.RelatedProducts)
                .WithMany(r => r.RelatedProducts)
                .UsingEntity<ProductAssociation>(
                    x => x.HasOne(p => p.RelatedProduct).WithMany().HasForeignKey(f => f.RelatedProductID),
                    x => x.HasOne(p => p.Product).WithMany().HasForeignKey(f => f.ProductID).OnDelete(DeleteBehavior.NoAction),
                    x => x.ToTable("ProductAssociations"));
       

0 个答案:

没有答案