我正处于计划将大型经典 ASP 数据库应用程序转换为 ASP.Net 的早期阶段,并且在选择使用哪种数据访问方法时遇到了麻烦。我玩过 Linq To SQL、动态数据、强类型数据集、企业库(数据访问应用程序块)和一点点实体框架,但没有一个让我觉得“那个”。选择太多了-我的头在游泳,帮我选择!
也许这将有助于提供一些关于我正在转换的应用程序的背景以及优先级......
后端是 Microsoft SQL Server(2005 或更高版本),我们致力于此,因此我无需担心是否支持不同的数据库平台。
数据库非常成熟,包含了大量的业务逻辑。它高度规范化并广泛使用存储过程、触发器和视图。我不想同时重新发明两个轮子,所以我想对数据库做尽可能少的改动。因此,我需要选择一种足够灵活的数据访问方法,让我能够解决数据库中的任何问题。
该应用程序具有许多数据输入表单和广泛的搜索和报告功能(报告是我稍后将解决的另一个问题)。
应用程序需要足够灵活,以处理对数据库结构的微小更改。应用程序(和数据库)可以安装在对数据库进行少量自定义修改的不同站点。理想情况下,应用程序可以识别数据库扩展并做出适当的反应。换句话说,如果我需要在应用程序中存储一个 O/R 映射,我需要在新站点上安装应用程序和数据库时能够将其换出(或轻松刷新)。
快速应用程序开发至关重要。由于数据库已经完成,并且用户界面将与现有应用程序紧密匹配,我希望找到一些可以很快完成的东西。如果可以节省开发时间,我愿意牺牲不使用绝对最新和最伟大的技术。换句话说,如果使用 Entity Framework 之类的东西有一个陡峭的学习曲线,我可以使用强类型数据集和自定义 DAL 之类的东西,如果它可以加快进程的话。
我是 ASP.Net 的新手,但对经典 ASP、T-SQL 和旧的 ADO(例如断开连接的记录集)非常熟悉。如果任何一种数据访问方法更适合来自我背景的人,我可能会倾向于那个方向。
感谢您提供的任何建议!