有几个实体类型的guid列映射(EF6流畅映射)

时间:2015-05-06 13:32:44

标签: c# entity-framework ef-code-first entity-framework-6

问题改述:我还可以重新考虑 ExternalSupplierMapping 表的数据库设计,所以真正的问题是;我如何拥有一对多关系,其中许多部分可以驻留在实体框架中共享基类不同表中。

旧问题

我有这个数据库表

ExternalSupplierMapping (不是:名称中的映射与EF映射没有任何共同点,它是我们内部域和外部供应商域(API)之间的映射)

  • Int Id(PK)
  • Int InternalId(具有constaint到特定表格的FK)
  • Guid ExternalId(没有约束的FK)

我们根据供应商提供了不同的ExternalId表

他们在EF - 供应商

中共享基类类
  • Guid Id
  • 字符串名称

这个基类在数据库中没有对应的表,但子类却没有

我希望将一个EF实体映射到 ExternalSupplierMapping

应该看起来像

  • Int Id
  • 内部内部
  • 供应商供应商

在流畅的映射中,我想我必须为继承供应商的每个实体类型创建一个映射,但我不知道它的语法。

甚至可能吗?或者我是否需要创建一个类似

的无类型实体
  • Int Id
  • Int InternalId
  • Guid ExternalId

在进行查询时手动加入?这很容易修复,但不太好,我希望能够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 =>
    {

    });

0 个答案:

没有答案