一个产品可以有许多其他相关产品。以下内容完美地创建了连接表,但是当我将产品添加到另一个产品的 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"));