Шаблон таблицы Azure для удаления или обновления нескольких объектов - PullRequest
1 голос
/ 18 сентября 2010

В последнее время я читаю немного кода Azure и удивляюсь, почему примеры, которые я вижу в Интернете, не используют несколько операций за одну поездку.Есть ли причина, по которой люди не кодируют свой DataSource следующим образом:

ForumDataSource.cs

   public void DeleteThread(params ForumThread[] itemToDelete)
    {
        foreach (var item in itemToDelete)
        {
            _ServiceContext.AttachTo(ForumDataServiceContext.ForumThreadTableName, item, "*");
            _ServiceContext.DeleteObject(item);
        }
        _ServiceContext.SaveChanges();
    }

Таким образом, может произойти несколько удалений, и модель программирования будет довольно чистой.

1 Ответ

3 голосов
/ 18 сентября 2010

Обязательно используйте SaveChangesOptions.Batch при вызове SaveChanges ... в противном случае все операции будут выполняться как отдельные транзакции. С этим изменением приведенный выше код должен подойти, если предположить, что все удаляемые элементы являются частью одного раздела одной и той же таблицы, и их не более ста (это ограничение таблиц Windows Azure).

...