我有一个带有现有数据库的项目,该数据库最初是为遗留应用程序创建的。它工作正常,但随着时间的推移,相当多的表/字段已经丢失或未充分利用,但历史数据可能有朝一日有用,所以它们不会去任何地方。
进入 2012 ('13) 和 Entity Framework 5,这是一个内置 POCO 生成的 ORM(不错的添加!)。太棒了.. 连接到 Oracle 数据库,gen。了解上下文和一些 POCO 的.. suh-weet !但是等等..我的 POCO 并不是我想要处理的 POCO ......有一堆我不再需要的字段(不是说我永远不需要它们,但我不能确定),所以现在我有了这些 POCO,它们基本上是臃肿的表映射器......那我该怎么办。
我在这里看到一些解决方案..
1)。我可以把它们扔掉,只使用我需要的字段。
2)。我可以进入模型表面并开始删除未使用的字段。
3)。“代码优先”方法并将对象绑定到现有数据库中,但它是一个大型数据库(我很确定这是可能的,对吧?)
4)。在它自己的模型项目中创建我自己的 POCO / DTO,这些将基本上成为我的“域模型”,但是映射回上下文可能会很痛苦..
最后,这些 POCO / DTO 是否需要在他们自己的项目中?真的有什么好处……看到像“YAGNI”这样的东西,我觉得它可以坐在.edmx下面,从不打扰任何人..
附带说明一下,我也将需要其中一些通过 JSON,因此需要考虑整个可序列化能力。
我可以只对生成的 POCO 进行部分分类,而只对我需要的属性进行“属性”吗?
无论如何,很高兴听到过去的经验或对此事的想法..
我可以在Programmers中看到它,但我想我会从这里开始。