Database EF代码优先组合、表映射、模拟复杂类型
我有一个复杂的数据模型(EF4.1代码优先),它使用组合(许多1对1)来实现类似于多重继承的好处。但我有一个问题要解决,希望通过映射Database EF代码优先组合、表映射、模拟复杂类型,database,entity-framework,orm,entity-framework-4.1,ef-code-first,Database,Entity Framework,Orm,Entity Framework 4.1,Ef Code First,我有一个复杂的数据模型(EF4.1代码优先),它使用组合(许多1对1)来实现类似于多重继承的好处。但我有一个问题要解决,希望通过映射 我需要减少要模拟的表(而不是实体)的数量 成功的多重继承 我不能用复杂类型替换1对1组合类 因为我将使用动态数据作为管理后端,而DD不使用 使用复杂类型 每个层次结构的表在这里似乎没有帮助,因为 模拟多重继承 每种类型的表将让位给太多的表 我认为有一种叫做“实体分割”的东西。我想我基本上需要它的反面?我想知道我想要的是否可能。。。基本上是通过多次映射模型组件来模拟
我认为有一种叫做“实体分割”的东西。我想我基本上需要它的反面?我想知道我想要的是否可能。。。基本上是通过多次映射模型组件来模拟复杂类型。。听起来不可能。我是否应该放弃作文的方法?我总是可以用属性或其他东西对属性进行分组。实体拆分的反面称为表拆分,但它只在EF代码中首先发生。感谢您的快速回复!如果我试图在多个类中使用单个类(以模拟多继承),那么该组件类如何映射多次(因为多个表将需要它)?例如,如果类型
SchedulingInfo
与类型Sale
和Order
和DonutBreak
为1:1,但这3种类型应为3个不同的表。SchedulingInfo
是否可以在不拆分的情况下多次映射到所有3个表?如果不是的话,我还不如将模型展平?没有一个类只能映射一次。唯一的例外是映射继承和拆分方案。确定。所以,如果我不能在DyanmicData中使用复杂类型,那么最好的解决方案是每个类型使用表,并在每个需要它的类上重复每个属性?还是单一继承?