AJM*_*AJM 4 asp.net orm dataset
我正在考虑ASP.NET应用程序的数据访问.来自使用大量Windows应用程序和客户端数据集的公司,对于处理数据的DataSet方法存在自然的优势.
我更热衷于业务对象方法,我不喜欢在会话中缓存DataSet然后应用更新的想法.
有没有人有任何经验/帮助来传递两种方法的利弊?
您很聪明地考虑在应用中设计数据层.在ASP.NET应用程序中,这将帮助您标准化并极大地简化数据访问.您将需要学习如何创建和使用ObjectDataSources,但这非常简单.
数据访问层(使用单独的项目/ DLL构建)的另一个优点是它使单元测试更加简单.我还鼓励你构建一个业务层来完成大部分数据处理(例如,业务层负责将ObjectDataSources从DAL拉到UI代码).这不仅可以封装您的业务逻辑,还可以提高代码的可测试性.
您不希望在会话中缓存DataSet(或DAL对象)!您将构建一个Web应用程序,以便记录修改通过唯一ID(或其他主键规范)工作,并在更改时直接将更改提供给DAL.如果您要缓存所有内容,则会大大降低应用的可扩展性.
更新:此线程上的其他人正在宣传使用ORM的想法.由于我之前在此处和此处概述的原因,我会谨慎地采用完整的ORM .我不同意,不过,这将是明智的,以避免数据集.在我自己的工作中,我广泛使用DataReader来填充我的ObjectDataSources(由于我的DAL的设计,这是微不足道的)并且发现它非常有效.