Базовые операции таблиц и сущностей

· создание;

· извлечение с применением фильтров;

· обновление (только сущности);

· удаление;

· транзакции над группами сущностей в пределах таблицы и секции;

Расширенные операции над таблицами и сущностями:

· разбиение на страницы;

· обработка конфликтов параллельных обновлений.

В таблице представлены базовые операции таблиц и сущностей и соответствующие им интерфейсы программирования приложений.

Таблица 8.3.
Операция ADO.NET Data Services HTTP-команда Ресурс Описание
Запрос LINQ Query GET Таблица Возвращает список всех таблиц данной учетной записи хранилища. В случае наличия фильтра таблицы возвращаются соответственно фильтру.
Сущность Возвращает все сущности заданной таблицы или подмножество сущностей, если задан фильтр.
Обновление всей сущности UpdateObject & SaveChanges(SaveChangesOptions.ReplaceOnUpdate) PUT Сущность Обновляет значения свойств сущности. Операция PUT замещает всю сущность и может использоваться для удаления свойств.
Частичное обновление сущности UpdateObject & SaveChanges() MERGE Сущность Обновляет значения свойств сущности.
Создание новой таблицы/ сущности AddObject & SaveChanges() POST Таблица Создает новую таблицу в данной учетной записи хранилища.
Сущность Вставляет новую сущность в данную таблицу.
Удаление таблицы/ сущности DeleteObject & SaveChanges() DELETE Таблица Удаляет таблицу в данной учетной записи хранилища.
Сущность Удаляет сущность из данной таблицы.
Транзакция над группой сущностей SaveChanges(SaveChangesOptions.Batch) POST $batch Поддержка транзакции над группой сущностей обеспечивается посредством пакетной операции над сущностями одной таблицы с одинаковым ключом секции. В ADO.NET Data Services опция SaveChanges требует, чтобы запрос выполнялся как одна транзакция.

Класс сущностей

Схема таблицы описывается как C#-класс. Такую модель использует ADO.NET Data Services. Схема известна только клиентскому приложению и упрощает доступ к данным. Сервер схему не применяет.

Для примера рассмотрим работу с таблицей контактов - Contact.

Рассмотрим описание сущностей Contact, хранящихся в таблице Contacts. Каждая сущность содержит следующие данные:

1. Группа контактов - Group ;

2. Имя контакта - NameOf ;

3. Дату создания контакта - DateOf ;

4. Адрес электронной почты - Email ;

5. Комментарии - Comment.

Для данной таблицы "Contacts" в качестве ключа секции используется Group, а в качестве ключа строки – Name Of. Partition Key и RowKey – ключи таблицы Contacts, они объявляются посредством атрибута класса DataServiceKey (Ключ сервиса данных). Кроме ключей, в качестве свойств объявлены характерные для данного вида сущностей атрибуты. Все свойства имеют открытые (public) методы считывания и присвоения значения и хранятся в таблице Windows Azure Table. Итак, в примере ниже:

public class Contacts

{

public string PartitionKey { get; set; }

public string RowKey { get; set; }

 

public datetime DateOf { get; set; }

public String Email { get; set; }

public String Comments { get; set; }

}

Создание таблиц

Далее рассмотрим, как создать таблицу Contacts для учетной записи хранилища. Создание таблицы аналогично созданию сущности в основной таблице "Tables". Эта основная таблица определена для каждой учетной записи хранилища, и имя каждой таблицы, используемой учетной записью хранения, должно быть зарегистрировано в основной таблице. Описание класса основной таблицы приведено ниже, где свойство TableName (Имя таблицы) представляет имя создаваемой таблицы.

public class TableStorageTable

{ public string TableName { get; set; }

}

Фактическое создание таблицы происходит следующим образом:

// Uri сервиса: "http://<Account>.table.core.windows.net/"

DataServiceContext context = new DataServiceContext(serviceUri);

TableStorageTable table = new TableStorageTable("Contacts ");

// Создаем новую таблицу, добавляя новую сущность

// в основную таблицу "Tables"

context.AddObject("Tables", table);

// результатом вызова SaveChanges является отклик сервера

DataServiceResponse response = context.SaveChanges();

 

serviceUri – это uri сервиса таблицы, http://<Здесь указывается имя учетной записи>.table.core.windows.net/.DataServiceContext (Контекст сервиса данных) – один из основных классов сервиса данных ADO.NET, представляющий контекст времени выполнения для сервиса. Он обеспечивает API для вставки, обновления, удаления и запроса сущностей с помощью либо LINQ, либо RESTful URI и сохраняет состояние на стороне клиента. Более подробный пример работы с Windows Azure Table, начиная от создания приложения, будет рассмотрен в рамках соответствующего практического занятия.

 








Дата добавления: 2016-03-05; просмотров: 1128;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.