Модель BDC:
Сущность моей модели BDC имеет свойство с именем Color. Имя типа указывается как System.String [].
<TypeDescriptor Name="Color" TypeName="System.String[]">
<Properties>
<Property Name="RequiredInForms" Type="System.Boolean">false</Property>
</Properties>
</TypeDescriptor>
База данных:
В моей базе данных (мой источник контента BDC) я добавил значения столбца, подобные этому:
;#Blue;#Green;#Yellow;#
Схема поиска
Я создал новое управляемое свойство и включил несколько значений (а также возможность уточнения - активное, запрашиваемое, извлекаемое, безопасное).
Результаты поиска
Фильтрация по определенному цвету с помощью поиска работает. Пример: RsExpAdvWorksProductColor: "синий"
Уточнение поиска
Однако я не могу уточнить цвета. Добавление уточнения к моему управляемому свойству выглядит следующим образом:
Color
;#Blue;#Green;#Yellow;#
;#Green;#Yellow;#
;#Red;#Green;#Yellow;#Blue;#Black;#Cyan;#
Очевидно, что отдельные значения не обрабатываются как таковые - вся «строка» значений, разделенных «специальными разделителями», отображается как критерий уточнения.
Есть подсказки?
Обновление 2015-03-20: Я внимательно изучил встроенные столбцы с множественным выбором. В результатах поиска они возвращаются как «Значение1; # Значение2; #» и так далее. Обычно используется завершающий Red;#Blue;#
разделитель, а не ведущий ;#Red;#Blue;#
. К моему большому сожалению, это не решило мою проблему.
Error while crawling LOB contents. Error caused by exception: System.InvalidOperationException There is an error in XML document
, когда пытаюсь использовать свойство коллекции. - person Szybki   schedule 23.01.2019