ASP.NET DataSet与Business Objects/ORM

AJM*_*AJM 4 asp.net orm dataset

我正在考虑ASP.NET应用程序的数据访问.来自使用大量Windows应用程序和客户端数据集的公司,对于处理数据的DataSet方法存在自然的优势.

我更热衷于业务对象方法,我不喜欢在会话中缓存DataSet然后应用更新的想法.

有没有人有任何经验/帮助来传递两种方法的利弊?

Mar*_*ham 5

您很聪明地考虑在应用中设计数据层.在ASP.NET应用程序中,这将帮助您标准化并极大地简化数据访问.您需要学习如何创建和使用ObjectDataSources,但这非常简单.

数据访问层(使用单独的项目/ DLL构建)的另一个优点是它使单元测试更加简单.我还鼓励你构建一个业务层来完成大部分数据处理(例如,业务层负责将ObjectDataSources从DAL拉到UI代码).这不仅可以封装您的业务逻辑,还可以提高代码的可测试性.

希望在会话中缓存DataSet(或DAL对象)!您将构建一个Web应用程序,以便记录修改通过唯一ID(或其他主键规范)工作,并在更改时直接将更改提供给DAL.如果您要缓存所有内容,则会大大降低应用的可扩展性.

更新:此线程上的其他人正在宣传使用ORM的想法.由于我之前在此处此处概述的原因,我会谨慎地采用完整的ORM .我同意,不过,这将是明智的,以避免数据集.在我自己的工作中,我广泛使用DataReader来填充我的ObjectDataSources(由于我的DAL的设计,这是微不足道的)并且发现它非常有效.