【发布时间】:2011-02-08 16:51:43
【问题描述】:
在尝试规范化数据库架构并将其映射到实体框架中时,我发现最终可能会出现一堆查找表。它们最终将只包含键和值对。我想将它们合并到一个基本上有两列“键”和“值”的表中。例如,我希望能够让 Addresses.AddressType 和 Person.Gender 都指向同一个表,但要确保导航属性只返回适用于相应实体的行。
编辑:哎呀。我才意识到我漏掉了这一段:
这似乎是 TPH 类型的问题,但我所做的所有阅读都表明您从父实体中的字段开始并将字段迁移到继承的子实体。我没有任何字段可以移到这里,因为通常只有两个。
有很多特定领域的键值对需要表示。其中一些会不时更改,其他则不会。而不是挑选和选择,我只想让所有东西都可以编辑。由于要使用的这些类型的属性的数量,我宁愿不必维护需要重新编译的列表枚举,或者最终得到很多查找表。所以,我认为这可能是一个解决方案。
有没有办法在 EF4 中表示这种结构?或者,我是在找错树了吗?
编辑:我想另一种选择是在数据库级别构建我想要的表结构,然后在其上编写视图并将它们显示为 EF 实体。这只是意味着任何维护都需要在多个级别上进行。这听起来比纯 EF 解决方案更受欢迎还是更不受欢迎?
【问题讨论】:
-
首先,尝试从对象方面来设想它。你在这里谈论关系。在您的模型中,AddressType 和 Gender 之间的家庭关系有多大意义?
-
我真的不想在这两个属性之间创建任何类型的概念关系。我正在查看的所有属性在下面都有相同的基本架构:“键”和“值”。我只想能够将多个属性映射到同一个基础表结构。从事物的对象方面来看,不会有任何关系。
标签: entity-framework entity-framework-4