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


Реализация метода Finder

Дата последнего изменения: 19 апреля 2010 г.

Применимо к: SharePoint Server 2010

В этой статье
Описание
Синтаксис
Примечания
Примеры

Описание

Finder — это особый экземпляр метода, возвращающий несколько экземпляров сущностей. Этот стереотип используется для чтения списка элементов с указанным условием фильтрации. Например, для бизнес-объекта Customer с помощью этого метода можно получить список клиентов, сумма заказов которых находится в определенном диапазоне.

Для внешних типов контента можно задать один или несколько методов Finder, возвращающих несколько экземпляров. Если методы Finder не заданы, внешний тип контента нельзя использовать в компонентах представления Business Connectivity Services, например во внешних списках и веб-частях "Список бизнес-данных".

Синтаксис

Ниже приводится типовая подпись метода для метода Finder:

public static EntityDataType[] GetEntities ()

Примечания

Для использования в качестве Finder метод должен удовлетворять указанным ниже условиям.

  • Метод должен принимать условие фильтрации в качестве входного параметра (параметров), чтобы ограничить количество возвращаемых элементов (особенно при большом количестве элементов).

  • Метод должен возвращать коллекции элементов, относящихся к внешнему типу контента.

  • Метод должен возвращать идентификатор элемента как часть представления, возвращаемого для каждого элемента.

  • Метод должен поддерживать расширенные возможности фильтрации (сведения о фильтрах, которые должны поддерживаться, см. в описании поддержки фильтрации в Business Connectivity Services).

  • Если метод Finder возвращает много элементов, рекомендуется реализовать в нем разбиение результатов на страницы или пакеты.

  • "Представление" каждого элемента, возвращаемое данным методом, должно совпадать с представлением конкретного метода поиска или быть его подмножеством. Это необходимо потому, что операции создания и обновления зависят от представления конкретного метода поиска. Если метод поиска возвращает больше полей, чем конкретный метод поиска, обновление дополнительных полей будет невозможно. Кроме того, если метод Finder возвращает только подмножество данных, для возврата остальных данных вызывается метод SpecificFinder, чтобы обеспечить полноту кэшированных элементов. Таким образом, рекомендуется, чтобы метод поиска и конкретный метод поиска возвращали одинаковые представления. Если метод поиска и конкретный метод поиска возвращают одинаковые представления, службы Business Connectivity Services оптимизируют вызовы к внешней системе.

В SharePoint 2010 внешний тип контента может иметь несколько методов поиска с различными представлениями. Ниже приведено несколько сценариев, в которых наличие нескольких методов поиска имеет смысл.

  1. Представления на основе ролей: Один метод Finder может использоваться для вывода ограниченного представления пользователям с равными правами и его предоставления глобальной адресной книге, а другой — для вывода подробного представления самому сотруднику или его начальнику.

  2. Оптимизация кэша: Службы Business Connectivity Services предоставляют широкие возможности автономной работы с бизнес-данными в клиентских приложениях Microsoft Office, например в Outlook и SharePoint Workspace. Администраторы могут отключить поддержку автономного режима для подробных представлений, чтобы оптимизировать использование кэша на стороне клиента. Это позволяет пользователям работать с ограниченным представлением в автономном режиме, а с подробным представлением — в оперативном.

ПримечаниеПримечание

Если для бизнес-объекта задано несколько конкретных методов поиска с различными представлениями, рекомендуется создать по крайней мере один метод Finder для каждого конкретного метода поиска.

Примеры

Фрагмент кода: реализация системы поиска

См. также

Концепции

Фрагмент XML-кода: моделирование метода Finder

Фрагмент кода: выполнение экземпляра метода Finder внешнего типа контента