规划工具的良好数据访问方法?

时间:2011-09-07 14:09:29

标签: c# sql-server ms-access data-access-layer

我正在构建/维护一些规划工具,具有以下特征:

-data从MsAccess / SQLServer加载(只读)到C#framework 3.5。数据从ERP系统加载到SQLServer / MsAccess中。

- 加载了大量的维护数据(比如来自各个表的总共2000.000条记录),所有这些数据都需要同时进行规划。

目前,我使用的是使用tableadapter填充的类型化数据表。然后,我遍历每个表中的行,创建包含相同数据的自定义对象。我的其余代码只适用于那些自定义对象。

这种方法的替代方案是什么,在可维护性和加载速度方面(从SQL Server / MSAccess到内存),这种方法的替代方案的优缺点是什么?

当前方法的主要缺点是我需要加载整个表,而在某些情况下,我可以动态地确定需要检索哪些记录。但是目前的框架似乎并没有为此提供简单的支持。

2 个答案:

答案 0 :(得分:1)

你的方法对我来说听起来很合理 它的主要优点是very simple 我看到改变它的唯一原因是你确实遇到了性能问题 在这种情况下,我建议将数据加载到块中(例如,一次5000行,类似于此) 如果您为应用程序和数据库引擎使用不同的服务器,则可以在处理当前批处理时在单独的线程中加载下一批处理。

但是,再次 - 如果它的工作方式正常 - 那就好了。

P.S。就像billinkc一样,我对msAccess感到好奇 - 它能否在这些数据量方面表现良好?

答案 1 :(得分:1)

为了提高性能并避免重新发明轮子,我强烈考虑使用ETL库 - 例如RhinoETL