我有一个IEnumerable,我想做一个批量插入(240,000+记录)。我一直在浏览论坛,所以我无法想出一些有用的东西......
另一个问题是我需要能够指定不同的提供者,因为这些记录需要插入到具有不同连接字符串的数据库中。
基本上是这样的:
IEnumerable<MyObject> records = GetRecords();
SubSonicDooHickey.BatchSave(records, "differentSubsonicProvider")
我知道这不完全正确,但是沿着这些方向......
我试过了:
var itemsToSaveCollection = new ItemCollection(); // Your collection type here
foreach (var xmlItem in xmlItems)
{
var item = new Item(); // Your data model type here
// Set item values from xml
itemsToSaveCollection.Add(item);
}
itemsToSaveCollection.BatchSave();
(以及其他几个)但是无法使它们工作......上面的代码不起作用,因为我找不到具有.BatchSave
函数的亚音的适当集合,并且我也不知道如何更改提供者。
答案 0 :(得分:0)
原来我不需要这个,但我能够使用命令让它工作:
var sql = "insert into foo(col1) values('@Param1'),('@Param2')";
var cmd = new QueryCommand(sql, repositoryName);
cmd.AddParameter("@Param1", "value1", DbType.String);
cmd.AddParameter("@Param2", "value2", DbType.String);
DataService.ExecuteQuery(cmd)