Есть ли библиотека с альтернативной реализацией InsertAllOnSubmit, которая использует SqlBulkCopy? - PullRequest
3 голосов
/ 02 октября 2009

Мы знаем, что Linq-To-Sql InsertAllOnSubmit отстает с точки зрения производительности, но использование SqlBulkCopy для массовых вставок требует некоторого кодирования. Кто-нибудь нашел какой-либо код / ​​библиотеку, которая использует SqlBulkCopy в альтернативной реализации InsertAllOnSubmit, такой же простой в использовании, как и оригинал?

Ответы [ 2 ]

2 голосов
/ 02 октября 2009

Все, что я нашел для создания такой библиотеки, это блог: Пакетное обновление и удаление с LINQ to SQL

Это шаг в правильном направлении IMO

РЕДАКТИРОВАТЬ: В связи с этим комментарием о GetDeleteBatchCommand. Это в исходном коде. Вот код:

private static DbCommand GetDeleteBatchCommand<TEntity>(this Table<TEntity> table, IQueryable<TEntity> entities) where TEntity : class
    {
        var deleteCommand = table.Context.GetCommand(entities);
        deleteCommand.CommandText = string.Format("DELETE {0}\r\n", table.GetDbName()) + GetBatchJoinQuery<TEntity>(table, entities);
        return deleteCommand;
    }
1 голос
/ 08 октября 2009
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...