【发布时间】:2011-02-22 20:52:37
【问题描述】:
应用:
我正在开发一个将用作产品的中大型应用程序,我们需要决定我们的 DAL 层。应用程序 UI 位于 Silverlight 中,而 DAL 层将位于服务层之后。我们也在推进领域模型,所以我们的数据库表和领域类没有相同的结构。所以像 Data Mapper 和 Repository 这样的模式肯定会出现。
我需要优先考虑以下因素来设计 DAL 层
- 开发速度高于平均水平
- 维护
- 技术的未来支持和稳定性
- 性能
限制:
1) 由于我们需要严格使用微软,我们不能使用 NHibernate 或除 EF 4.0 之外的任何其他 ORM
2) 我们可以使用任何代码生成工具(应该是开源的或非常便宜的),但它只能在 .Net 中生成代码,因此不会有任何许可问题。
问题
- 我阅读了很多关于 EF 4.0 的文章,一开始看起来它仍然缺少 NHibernate 的功能,但它比 EF 1.0 好很多
那么,你们觉得我们应该继续使用 EF 4.0 还是我们应该坚持使用 ADO .Net 并使用任何代码生成工具,如 code smith 或任何其他你觉得最好的工具
此外,我还需要回答一些问题,例如,如果将来我们在某些功能上坚持使用 EF 4.0 或遇到严重的性能问题,将应用程序从 EF 4.0 移植到 ADO .Net 需要多长时间。
在相反的情况下,如果我们继续选择 ADO .Net,那么切换到 EF 4.0 需要多长时间
最后..当我阅读这篇文章时,我发现仅代码方法(使用 POCO 类)似乎最适合我们的要求,因为从一种技术切换到另一种技术真的很容易。
请分享您的想法,并请指导上述问题
【问题讨论】:
-
EF 4 with OData 无疑是最好的!
标签: ado.net silverlight-4.0 data-access-layer entity-framework-4