Все, что я нашел для создания такой библиотеки, это блог: Пакетное обновление и удаление с 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;
}