这是我的情况:我试图尽可能遵循3层模式(即演示,业务和数据层)。当我需要来自数据库的数据时,业务层会调用返回信息的数据层。数据层永远不会返回SqlDataReader或DataTable对象,但通常是数据访问层已知的自定义对象的枚举。当数据层必须返回一个包含少量对象的列表时,它工作得非常好。3层模式和大量的数据
我现在正面临这个问题,我的应用程序(业务层)必须处理500000条记录。我可以简单地将另一种方法添加到我的数据层并返回一个IEnumerable,但这个声音对我来说很糟糕。我不想在内存中加载五十万条记录。
我的问题是,考虑到3层模型,我应该如何处理这种情况?如果我没有3层模式,我只需在业务类中使用SqlDataReader。有什么建议么?
更新:数据将不会显示,所以这不是一个分页问题(表示层根本没有涉及)。我只需要分析每条记录,然后保留其中的一部分。
谢谢