我需要使用 Entity Framework Code First 将遗留数据库表映射到多态层次结构。不幸的是,我有一些荒谬的限制,我不确定这是否可能。这些约束要求:
我无法使用流畅的界面定义映射。我必须使用实体框架映射属性。
我无法将自定义约定添加到
DbModelBuilder
.我无法修改表结构。
反正有没有直接用EF来完成这个?如果不是,那么使用这样的桌子我最好的选择是什么?
我需要使用 Entity Framework Code First 将遗留数据库表映射到多态层次结构。不幸的是,我有一些荒谬的限制,我不确定这是否可能。这些约束要求:
我无法使用流畅的界面定义映射。我必须使用实体框架映射属性。
我无法将自定义约定添加到DbModelBuilder
.
我无法修改表结构。
反正有没有直接用EF来完成这个?如果不是,那么使用这样的桌子我最好的选择是什么?
我相信你会遇到的问题是做更复杂的事情(比如在 Code-First TPH 中定义鉴别器)需要流利的。也许其他人可以评论更多细节?这家伙得到了相同的答案,但仍然没有引用:Entity Framework 4, TPH (Table Per Hierarchy) and annotation
取决于您将如何使用这些数据(这是只读的吗?)我认为您有很多选项可以加载它并与之交互。在从表中提取整个记录之后,您只需要做额外的工作将对象映射到它们的类上,而不是让 EF 为您完成所有工作......
同样,其他人可能有更好的建议。