问题改述:我还可以重新考虑 ExternalSupplierMapping 表的数据库设计,所以真正的问题是;我如何拥有一对多关系,其中许多部分可以驻留在实体框架中共享基类的不同表中。
旧问题
我有这个数据库表
ExternalSupplierMapping (不是:名称中的映射与EF映射没有任何共同点,它是我们内部域和外部供应商域(API)之间的映射)
我们根据供应商提供了不同的ExternalId表
他们在EF - 供应商
中共享基类类这个基类在数据库中没有对应的表,但子类却没有
我希望将一个EF实体映射到 ExternalSupplierMapping 表
应该看起来像
在流畅的映射中,我想我必须为继承供应商的每个实体类型创建一个映射,但我不知道它的语法。
甚至可能吗?或者我是否需要创建一个类似
的无类型实体在进行查询时手动加入?这很容易修复,但不太好,我希望能够todo
dbSet.Add(new ExternalSupplierMapping { Internal = internal, Supplier = fooSupplier /* Sub class that inherits Supplier */ });
我猜它是这样的,但我只使用了Map for non materlized relation tables
HasRequired(sm => sm.Supplier)
.WithMany()
.Map(m =>
{
});