2013-07-08 3 views
1

Я работаю над системой заказов, в которой может быть от 1 до 200+ заказов. Прямо сейчас у нас есть цикл, который проходит через каждый заказ и вставляет его в базу данных. Было бы целесообразно использовать SqlBulkCopy? Использует ли он ухудшение производительности по малым заказам? Существуют ли какие-либо другие методы ускорения вставок?Перемещение вложений Entity Framework

Спасибо!

ответ

1

В принципе, есть несколько вещей, которые вы можете сделать.

  • использование SqlBulkCopy.WriteToServer, не работает отлично вместе с EF, однако есть несколько попыток создания расширений

  • используя хранимую процедуру, которая будет принимать один большую запись и разделить его в соответствии с некоторой логикой

  • с помощью таблицы типизированных параметров хранимых процедур и делают один вызов хранимой процедуры (и несколько insert ... select внутри хранимой процедуры)

В целом, я предпочитаю третий вариант.

Проверьте этот вопрос Entity Framework Stored Procedure Table Value Parameter