Класс QueryBasedCollection<T>
Представляет базовый класс коллекции, предоставляющий данные запросов поддержки, такие как параметры сортировки и фильтрации и разбиения на страницы поддержки для больших коллекций.
Иерархия наследования
System.Object
Microsoft.SharePoint.Publishing.CollectionBase<T>
Microsoft.SharePoint.Publishing.QueryBasedCollection<T>
Microsoft.SharePoint.Publishing.PageLayoutCollection
Microsoft.SharePoint.Publishing.PublishingPageCollection
Пространство имен: Microsoft.SharePoint.Publishing
Сборка: Microsoft.SharePoint.Publishing (в Microsoft.SharePoint.Publishing.dll)
Синтаксис
'Декларация
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public MustInherit Class QueryBasedCollection(Of T As Class) _
Inherits CollectionBase(Of T)
'Применение
Dim instance As QueryBasedCollection(Of T)
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public abstract class QueryBasedCollection<T> : CollectionBase<T>
where T : class
Параметры типов
- T
Замечания
Помимо поддержки перечисления foreach (For Each в Visual Basic) и свойство Count , предоставляемое базовым классом CollectionBase эта коллекция обеспечивает поддержку разбиения по страницам данных для больших коллекций и запросов поддержки, например, сортировку и фильтрацию.
Можно применить сортировку и фильтрацию с помощью совместной работы приложения разметки языка (CAML), который определяет запрос для использования в объектеSPQueryMicrosoft SharePoint Foundation. Когда изначально создается или извлечения коллекции необходимо применить запрос CAML. Например метод PublishingWeb.GetPages имеет перегрузки, которые принимают строку CAML напрямую и перегрузок, которые принимают экземпляр SPQuery , который имеет свойство SPQuery.Query . Тег < OrderBy > CAML можно использовать для сортировки коллекции. Например чтобы заказать набор в порядке возрастания по названию, можно используйте следующий запрос CAML.
<OrderBy><FieldRef Name="Title" Ascending="TRUE"></FieldRef></OrderBy>
CAML, < где > тег может использоваться для фильтрации коллекции.
Для фильтрации коллекции на основании соответствия некоторое значение «abc» заголовок, используйте следующий запрос CAML.
<Where><Eq><FieldRef Name="Title"></FieldRef><Value Type="Text">abc</Value></Eq></Where>
Эта коллекция также поддерживает разбиение по страницам, позволяя подмножества коллекции для извлечения данных. Необходимо указать максимальное количество объектов для получения в каждое подмножество, когда коллекция изначально созданы или получены. Например метод PublishingWeb.GetPages имеет перегрузки, которые принимают ограничение строки и перегрузок, которые принимают экземпляр SPQuery , который имеет свойство SPQuery.RowLimit . Метод QueryNext может использоваться для перехода на следующий набор разбитых на страницы данных.
Потокобезопасность
Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.