Новые возможности служб WCF Data Services 5.0
Следующие функции, которые являются новыми в версии 3.0 служб OData, поддерживаются в этом выпуске служб Службы WCF Data Services.
Операторы All и Any
OData теперь позволяет фильтровать веб-каналы на основе содержимого коллекции. С помощью новых операторов all и any можно фильтровать канал OData на основе свойств связанной коллекции или многозначного свойства.Клиентская библиотека .NET Framework теперь поддерживает использование операторов наборов All<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>) и Any<TSource>(IEnumerable<TSource>) в запросах LINQ. Дополнительные сведения см. в разделе Рекомендации по LINQ (службы WCF Data Services).
Свойства коллекции *
OData теперь позволяет определять коллекции свойств типов в модели данных службы данных. Эти коллекции свойств содержат неупорядоченные коллекции примитивных или сложных типов.Именованные потоки ресурсов
OData теперь позволяет определить именованные потоки ресурсов для данной сущности. Это дает возможность иметь несколько потоков двоичных данных, связанных с данной сущностью. Дополнительные сведения см. в разделе Потоковый поставщик (службы WCF Data Services).Клиентская библиотека .NET Framework теперь позволяет получать доступ к именованным потокам ресурсов. Дополнительные сведения см. в разделе Работа с двоичными данными (службы WCF Data Services).
Новые типы данных
OData задает следующие новые типы данных, которые поддерживаются Службы WCF Data Services:Геопространственные типы*
Теперь OData поддерживает геопространственные типы данных как новый набор примитивов. Дополнительные сведения см. в разделе Библиотека пространственных данных.
DateTimeOffset
TimeSpan
Запросы PATCH
К стандарту HTTP был добавлен новый метод PATCH. OData теперь поддерживает этот новый метод HTTP. Службы WCF Data Services обрабатывает запросы PATCH таким же образом, как и запросы MERGE.Клиентская библиотека .NET Framework теперь позволяет запрашивать обновления в службе данных с помощью запроса PATCH. Дополнительные сведения см. в разделе Управление контекстом службы данных (службы WCF Data Services).
Поддержка заголовка Prefer
OData теперь предоставляет клиентам возможность запрашивать, будут ли полезные данные возвращаться в ответ на запрос POST, PUT, MERGE или PATCH. Свое предпочтение клиент указывает в запросе с помощью значения заголовка Prefer. При использовании клиента платформы .NET Framework этот параметр управляется с помощью DataServiceContext. Дополнительные сведения см. в разделе Управление контекстом службы данных (службы WCF Data Services).Действия служб
OData позволяет также определить действие службы, представляющее собой специализированный вид операции обслуживания. Действия служб представляют возможность внести расширения функциональности в модель, в остальном ориентированную на обработку данных. Действия службы позволяют вызывать бизнес-логику в OData, где она должна быть привязана к предоставляемому ресурсу. Дополнительные сведения см. в разделе Использование действий OData для реализации поведения на стороне сервера..Заметки словаря
OData поддерживает возможность расширения метаданных службы данных путем определения словарей. Службы WCF Data Services позволяет применять словари к модели данных с использованием заметок. Дополнительные сведения см. в статье Словари в службах WCF Data Services.
* Новая функция OData в настоящее время не поддерживается поставщиком Entity Framework.
В этом выпуске с помощью Службы WCF Data Services предоставлены следующие дополнительные функции:
Поддержка DbContext поставщиком Entity Framework
Теперь Службы WCF Data Services позволяет использовать класс, который наследуется от DbContext в качестве источника данных поставщика Entity Framework, так же как класс, который наследуется от ObjectContext. DbContext является новым классом Code First, введенным в Entity Framework 4.1, который заменяет класс ObjectContext. Ранее, чтобы иметь возможность использовать объект DbContext в качестве источника данных, нужно было искать обходные пути.Включение ссылок связей в ответ
Протокол OData определяет метод установления связей между сущностями с использованием оператора $links в URI. Службы WCF Data Services теперь позволяет запрашивать включение службой данных этих ссылок в элементы записи в ответе. Это поведение управляется свойством конфигурации IncludeRelationshipLinksInResponse. Дополнительные сведения см. в разделе Настройка службы данных (службы WCF Data Services).Клиентская библиотека .NET Framework теперь использует ссылки связей при создании URI, которые отражают связанные сущности, если они присутствуют в ответе.
Свойства навигации производных типов
В этой версии Службы WCF Data Services поддерживает возможность определять свойства навигации для производных типов. В предыдущих версиях свойства навигации могли быть заданы только для базовых типов.Поддержка наборов сущностей с различными базовыми URI
Протокол OData позволяет службе данных представлять доступ к наборам сущностей как к коллекциям, которые имеют различные базовые URI. Ранее при работе клиента платформы .NET Framework предполагалось, что все наборы сущностей совместно используют один и тот же базовый URI, определенный в DataServiceContext. Теперь можно определить делегат, который используется контекстом для разрешения URI для наборов сущностей, которые не имеют общего базового URI. Дополнительные сведения см. в разделе Управление контекстом службы данных (службы WCF Data Services).
См. также
Основные понятия
Управление версиями службы данных (службы WCF Data Services)
Общие сведения о службах WCF Data Services