ФОН:
Мы разрабатываем специальное приложение, которое обращается к SharePoint через клиентскую объектную модель, и этому приложению требуется доступ к спискам ECT (внешний тип контента), определенным в SharePoint с помощью OM (объектной модели). Это приложение является продуктом, который можно использовать с большинством установок и настроек SharePoint, и он не может иметь предварительных знаний о внешних списках.
Если для ECT не настроены фильтры, SharePoint возвращает все доступные элементы в списке (если число ниже порогового значения). В тот момент, когда мы определяем фильтр для этого ECT, SharePoint возвращает только элементы после применения этого фильтра (вероятно, правильное поведение от SP).
ПРОБЛЕМА:
Нам необходимо иметь возможность выполнять поиск в этом списке ECT (без фильтрации) на основе текста, введенного пользователем в поле поиска. На данный момент, похоже, нет возможности изменить фильтр, применяемый SharePoint при возврате значений вызывающему объекту.
Т.е. В моем списке ECT 10 пунктов (1,2,3… 10). Каждый элемент имеет 3 столбца (идентификатор, имя, описание). После настройки фильтра для списка ECT SharePoint возвращает элементы 2, 3 и 6, когда я запрашиваю у SharePoint список элементов.
Нет, пользователь выполняет поиск, соответствующий описанию элемента 7. Как мне выполнить поиск / фильтрацию в списке, чтобы вернуть элемент, соответствующий моему поисковому запросу?
Я бегал по кругу, пытаясь решить эту проблему, но, похоже, ничего не помогло. Я попытался настроить запрос CAML, а также LoadQuery, как определено в http://pholpar.wordpress.com/2011/02/09/how-to-query-external-lists-on-the-client-side-using-caml/ и http://msdn.microsoft.com/en-us/library/ff464384.aspx, но ничего не работает.