【发布时间】:2011-04-19 00:26:25
【问题描述】:
我们的客户为产品做广告,但产品的属性却大相径庭。产品“类别”几乎与产品一样多。
最初,我们创建了一个 EAV 数据库,我们在其中添加和删除了每个“类别”产品的属性。整个事情运作良好,但复杂性令人麻木。 这是数据库 #1。
我们最终提出了一组表示所有产品 (POCO) 的通用字段,将“额外”字段移动到 XML 字段“全包”。 这是数据库 #2。
现在我们有一些客户使用旧的,一些客户将使用新的。在需要更新旧版本之前,我们确实不想更新旧版本,但由于 EAV 结构,我们有时会进行一些更改,这些更改只需要比必要的时间更长。
问题:
- 有关如何编写 EF 以将 POCO 持久保存到 EAV 数据库(其中有字段名称表和数据表)的任何示例?
- 考虑到我们不时发生变化,我们是否应该废弃数据库并为所有这些老客户编写“正常”表?
Normal 当然是指 Boyce Codd 范式。
我们通过将其结构注入软件来处理旧数据库,然后映射到存储库中的 POCO。
【问题讨论】:
标签: c# entity-framework-4 poco