我正处于规划将大型经典ASP数据库应用程序转换为ASP.Net的早期阶段,并且无法找出使用哪种数据访问方法。我玩过Linq To SQL,动态数据,强类型数据集,企业库(数据访问应用程序块),以及一点Entity Framework,但他们都没有跳出来作为“一个”。有太多的选择 - 我的头在游泳,帮我选择!需要关于选择数据访问方法的建议
也许这将有助于使上,我与优先转换沿应用程序的一些背景...
后端为Microsoft SQL Server(2005或更高版本)和我们承诺那样,所以我不必担心曾经支持过不同的数据库平台。
数据库非常成熟,包含了大量的业务逻辑。它高度规范化并广泛使用存储过程,触发器和视图。我宁愿不在同一时间重新创建两个轮子,所以我想尽可能少地更改数据库。所以,我需要选择一种足够灵活的数据访问方法,以便我能够解决数据库中的任何怪癖。
该应用程序有许多数据输入表单和广泛的搜索和报告功能(报告是我将在以后解决的另一个野兽)。
该应用程序需要足够灵活以处理对数据库结构的微小更改。应用程序(和数据库)可能安装在对数据库进行较小自定义修改的不同站点上。理想情况下,应用程序可以识别数据库扩展并做出适当的反应换句话说,如果我需要在应用程序中存储O/R映射,那么在新站点上安装应用程序和数据库时,我需要能够将其交换(或轻松刷新)。
快速应用程序开发至关重要。由于数据库已经完成并且用户界面将与现有的应用程序紧密匹配,我希望能找到一些可以快速解决这个问题的方法。如果能够节省开发时间,我愿意牺牲不使用绝对最新最好的技术。换句话说,如果使用像Entity Framework这样的东西有一个陡峭的学习曲线,那么我会很好地处理像强类型数据集和自定义DAL,如果它会加快这个过程。
我是ASP.Net的总新手,但我非常熟悉经典ASP,T-SQL和旧的ADO(例如断开的记录集)。如果任何数据访问方法更适合来自我的背景的人,我可能会倾向于这个方向。
感谢您提供任何建议!
有很多方法可以做同样的事情,我想看看哪种工具对其他产品有好处(即何时使用哪一种)?以及对某些参数的工具评估(例如学习曲线,维护,简单性,社区支持等) – shahkalpesh 2009-04-23 16:40:54
我听说nHibernate功能非常强大,但我也读了一下,学习曲线非常陡,以便使用它正确的方法。不幸的是,我们没有那种时间。 – CowherPower 2009-04-23 18:09:46
你有多少时间?我花了几天的时间才弄清楚如何映射我的第一个对象图3。我是1的开发人员,听起来像你有一个团队。 – JoshBerke 2009-04-23 21:58:21