Поделиться через


Класс 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) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.

См. также

Справочные материалы

Элементы QueryBasedCollection<T>

Пространство имен Microsoft.SharePoint.Publishing