C# FluentAPI связать одну таблицу с тремя дугими типа One-To-Many по одному столбцу и(или) "по столбцу тип"
Есть табцица Invoices с Id и RelatedId, "Type" и т.д. Так же есть 2 таблицы Products, Services так же со своими Id и т.д.
Как связать таблицу Invoices во FluentAPI Entity чтобы RelatedId ссылался на Products или Services
modelBuilder.Entity<Invoice>()
.HasOne(e => e.Product)
.WithMany()
.HasForeignKey(e => new { e.RelatedId })
.HasPrincipalKey(p => new { p.Id });
modelBuilder.Entity<Invoice>()
.HasOne(e => e.Service)
.WithMany()
.HasForeignKey(e => new { e.RelatedId })
.HasPrincipalKey(p => new { p.Id });
не знаю как всё это связать ещё и по столбцу Type так как понимаю, что без него никак. Если добавлю стобец Type с Key в Product и Service то быдет нестыковка в других таблицах.