Cow*_*wer 6 asp.net entity-framework data-access-layer dynamic-data linq-to-sql
我正处于规划将大型经典ASP数据库应用程序转换为ASP.Net的早期阶段,我无法选择使用哪种数据访问方法.我使用过Linq To SQL,动态数据,强类型数据集,企业库(数据访问应用程序块)以及一小部分实体框架,但它们都没有作为"一个"跳出来.有太多的选择 - 我的头在游泳,帮我选择!
也许有助于给出我正在转换的应用程序以及优先级的一些背景知识......
后端是Microsoft SQL Server(2005或更高版本),我们致力于此,所以我不必担心支持不同的数据库平台.
数据库非常成熟,包含大量的业务逻辑.它高度标准化,并广泛使用存储过程,触发器和视图.我宁愿不同时重新发明两个轮子,所以我想尽可能少地对数据库进行更改.因此,我需要选择一种足够灵活的数据访问方法,让我可以解决数据库中的任何问题.
该应用程序具有许多数据输入表单和广泛的搜索和报告功能(报告是我将在稍后讨论的另一种野兽).
应用程序需要足够灵活,以处理对数据库结构的微小更改.应用程序(和数据库)可以安装在不同的站点,对数据库进行微小的自定义修改.理想情况下,应用程序可以识别数据库扩展并做出适当反应 换句话说,如果我需要在应用程序中存储O/R映射,我需要能够在新站点上安装应用程序和数据库时将其交换(或轻松刷新).
快速应用开发至关重要.由于数据库已经完成并且用户界面将与现有应用程序紧密匹配,我希望找到一些我们可以相当快地解决这个问题的方法.我愿意牺牲不使用绝对最新和最好的技术,如果它将节省开发时间.换句话说,如果使用像Entity Framework这样的东西有一个陡峭的学习曲线,我可以使用强类型数据集和自定义DAL,如果它会加快这个过程.
我是ASP.Net的新手,但我非常熟悉Classic ASP,T-SQL和旧的ADO(例如断开连接的记录集).如果任何数据访问方法更适合来自我背景的人,我可能会倾向于这个方向.
感谢您提供的任何建议!
nHibernate 可能是一个不错的选择。您可以将映射存储在外部配置文件中,这可以满足您的需求。另一种选择可能是使用ActiveRecord,它基于 nHibernate。
nHibernate 有一个简洁的功能,您可能会发现它很有帮助。它称为动态属性,基本上是通过从映射文件中提取列名称来填充的名称值对集合。因此,当您在客户端站点添加列时,您可以更新映射文件,并且可以通过对象上的集合访问数据。
| 归档时间: |
|
| 查看次数: |
476 次 |
| 最近记录: |