2011-05-07 68 views
0

问题: 我正在构建(或试图构建)企业级Web应用程序的前端。现有的结构由存储过程驱动(sql 2008 db)。存储的proc被实现为一个最终处理执行的类,结果作为一个对象返回。 我是新来的这个游戏,并会欢迎有关我的时间将如何最好地服务的解释...我读存储库模式是一个最佳实践,但所有的例子,我阅读实现实体框架或Linq等。我需要一个ORM吗?为什么或者为什么不?我希望能够有一个最佳的性能环境,以便用户可以玩这些结果集。在此先感谢数据访问mvc3

回答

1

那么,我会建议你决定你的用例。

一些事情,NHibernate的/ ORM的一般都不是好是:

  1. 批处理作业。
  2. 报告

所以,如果你的工作主要涉及任何一样东西,你最好不浪费你的时间,这样说有什么错有多种策略......构建出一个领域模型是伟大的为了简化复杂的业务规则,性能通常也非常好......报表和批处理作业可以分开构建,没有理由不同的策略不能共存......但我仍然尽我所能保留它们解耦...

所以,如果你有一个大毛茸茸的业务逻辑层,并在你的存储过程中散布数据集/数据访问代码和业务逻辑,那么你可能会发现值得你花一些时间去投资一个ORM,但考虑到它是一个重新分解的步骤...... IE你正在改进现有的代码并在扩展它之前进行测试......

无论如何,没有人'最好'的答案,我在以前的公司做过的最聪明的事情是建立新的功能(当然是测试驱动),无论哪种数据访问模式似乎对功能有意义...保持接口清洁和解耦...做了一段时间之后,通常很明显哪种策略/模式最适合整体应用...

祝你好运

1

您的问题有点不清楚。存储过程是存储在数据库中用于与数据交互的SQL查询。但是,听起来你已经有了一个现有的数据访问层(DAL),它使用存储过程并返回对象给你玩。如果是这种情况,我不会丢掉整个数据访问层,并用EF或任何其他ORM替换它。除非现有的DAL由于设计或性能原因不适合您,否则没有理由重新发明。