2012-01-19 2 views
0

Я вставляю в таблицу 1000 строк в одном вызове SubmitChanges() быстрее, и я должен добавить в эту таблицу много терабайт строк.Linq to SQL вставляет много строк в один SubmitChanges()

Один из них будет выполнен успешно, другой будет возвращать исключение при вставке. Как рассчитать, сколько у нас исключений и как их поймать для каждой строки?

ответ

1

Ну, к сожалению, linq2sql совсем не подходит для пакетных вставок. Это медленно, поэтому вы действительно хотите посмотреть на другое решение. Вы можете проверить все записи перед вставкой, а затем использовать sqlbulkcopy для очень быстрой вставки.

0

Если оно выбрасывает SubmitChanges(), вы не можете сделать это. Либо оберните его в try-catch, чтобы хотя бы взять некоторые из исключений. Или, если вам действительно нужно знать исключения за ряд строк, вам придется вставлять их отдельно.

+0

Я делаю это уже, но из этого у меня нет точных счетчиков и проблемных состояний ;-) – Svisstack

Смежные вопросы