Мне нужно вставить большой объем данных в SqlServer 2008. Мой проект основан на linq-to-sql.
Я обрабатываю CSV-файл с 100 000 строк. Каждая строка отображается на Order
объект. Order
содержит также коллекцию объектов Category
и Code
. Мне нужно сопоставить каждую строку с объектом, чтобы проверить его.
Затем мне нужно вставить все эти объекты в базу данных.
List<Order> orders = Import("test.csv");
db.Orders.InsertAllOnSubmit(orders);
db.SubmitChanges();
OR
foreach(Order order in orders)
db.Orders.InsertOnSubmit(order);
db.SubmitChanges();
Оба пути медленные. Есть ли обходной путь? Я могу использовать другой подход, чем l2sql для этой задачи.
Я читал о классе SqlBulkCopy - будет ли он обрабатывать вставку дочерних объектов ?