Каков наилучший способ передать в базу данных сериализуемый сортируемый результат JQuery? - PullRequest
3 голосов
/ 22 февраля 2009

Я использую функцию JQuery.Sortable () для создания переупорядочиваемого списка элементов, например

 <script type="text/javascript">
    // When the document is ready set up our sortable with it's inherant function(s)
    $(document).ready(function() {
        $("#goal-list").sortable({
            handle: '.handle',
            placeholder: 'ui-state-highlight',
            update: function() {
                var order = $('#goal-list').sortable('serialize');
                $("#info").load("/goals/process?" + order);
            }
        });
    });
</script>

В результате возвращается список разделенных запятыми идентификаторов элементов (т. Е. 1,2,3,4,5,6 и т. Д.)

То, что я хочу знать, каков наилучший способ передать это в столбец сортировки таблицы связанных элементов ... Я мог бы перебрать и обновить каждую запись, но я думаю, что это очень много записей в базу данных и может создать потенциальная горлышко бутылки, особенно если список довольно большой.

Я использую LINQ-to-SQL и ASP.NET MVC

1 Ответ

3 голосов
/ 22 февраля 2009

Я рекомендую вам больше посмотреть на отложенное выполнение, если вы работаете с LINQ to SQL. Это может быть распространенной ошибкой .. особенно при использовании ассоциаций.

Несколько вставок и обновлений фактически могут быть сгруппированы вместе .. они не будут записаны в БД, пока в контексте БД не будут вызваны SaveChanges или SubmitChanges.

Если вы просматриваете набор элементов и изменяете их ... затем вызываете SaveChanges после выхода из цикла, группа операторов обновления должна быть собрана вместе и отправлена ​​в базу данных за одну поездку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...