c# - 处理大量数据

时间:2011-03-10 12:07:31

标签: c#

Iam正在寻找将大量数据传输到数据库表的方法。我有一个超过100个属性的类,我想知道将所有数据传输到表的好方法。

我有一个类,我为每个属性分配一个值。什么是最好的属性分组和发送到另一个类插入表?

提前致谢。

2 个答案:

答案 0 :(得分:2)

我的观点是在数据库服务器的单次访问中批量所有INSERT语句。

我不知道你是否使用了一些OR / M,但我会假设你使用普通的ADO.NET。

您可以首先以编程方式创建纯文本文件并附加所有INSERT语句,然后将其用作IDbCommand.ExecuteNonQuery实现的命令文本。

批处理非常重要,因为您可以在一次旅行和连接中将整个INSERT语句列表发送到数据库服务器,并让数据库服务器优化存储您的数据,这样您的应用程序就可以自由地执行其他任务。 / p>

我建议您批量插入任务应该通过异步(在另一个线程而不是主应用程序之一)来避免冻结用户界面。也许它是一个控制台应用程序,所以只需使用主线程。

答案 1 :(得分:0)

根据您的问题,我假设您有一个包含大量字段的类,并且您希望自动将值复制到您可以插入数据库的ORM数据类型?如果是这样,尝试查看AutoMapper,它很棒。 http://automapper.codeplex.com/