0

linq で xml ファイルを読み取り、オブジェクトのリストを作成します。

 StringReader stream=new StringReader(xml);
 XmlTextReader reader=new XmlTextReader(stream);

XElement req = XElement.Load(reader);
var users= (req.Descendants("Report")
           .Select(e => new { 
            Fname= e.Descendants("firstName").FirstOrDefault().Value,
            Lname = e.Descendants("lastName").FirstOrDefault().Value,
            personalId = e.Descendants("id").FirstOrDefault().Value,
            })).ToList();

users 値には 100,000 個のオブジェクトが含まれます。

これらのオブジェクトをデータベース テーブルに一括挿入します。

4

1 に答える 1

1
public static void saveData<T>(ref List<T> list, string destinationTableName, int batchSize)
{
    using (EntityDataReader<T> reader = new EntityDataReader<T>(list))
    using (System.Data.SqlClient.SqlBulkCopy sbc = new System.Data.SqlClient.SqlBulkCopy("your connection string"))
    {
        for (int i = 0; i < reader.FieldCount; i++)
        {
            string colName = reader.GetName(i);
            sbc.ColumnMappings.Add(colName, colName);
        }
        sbc.BatchSize = batchSize;
        sbc.DestinationTableName = destinationTableName;
        sbc.WriteToServer(reader);
    }
}

このコードを使用して、アイテムの非常に大きなリストを挿入しています.Tは既知のエンティティオブジェクトである必要があります

于 2013-07-11T07:05:24.237 に答える