我对EF Core 2.1有疑问
我有一个基本类型,我们将其命名为Customer
,从中派生CustomerOld
和CustomerNew
。到目前为止,它们都自动存储在一张表中。
现在,我具有将Customer
映射到Product
的通用类型:
public class CustomerToProduct<T> where T : Customer
{
public int CustomerId { get; set; }
public T Customer { get; set; }
public int ProductId { get; set; }
public Product Product { get; set; }
...
}
CustomerToProduct
的派生类型没有特定的属性。我只想使用它们,例如我通过属性CustomerToProduct.Customer
访问的客户属于派生类型。
我在DbContext
中为派生类型定义了DbSet,如下所示,这当然导致了单独的表:
public class MyDbContext : DbContext
{
public DbSet<OldCustomerToProduct> OldCustomerToProducts { get; set; }
public DbSet<NewCustomerToProduct> NewCustomerToProducts { get; set; }
...
}
如何在同一表中存储CustomerToProduct<T>
的所有派生类型?如何定义DbSets<>
?