На прошлой неделе я реализации «развивается" решение для клиента, который использует BDC и SPQuery и побежал в некоторые трудности с помощью SPQuery против библиотеки документов, содержащей папки. Нижняя линия: назначить «рекурсивные" в атрибут представления запроса.
Мой сценарий:
- В понедельник, Я загрузить документ и предоставить некоторые мета-данных.
- Следующей недели, Загрузить новый документ. Большая часть этого нового документа мета-данных основывается на документе, который я загрузил в понедельник (который мы называем «главный документ»).
- Мы создали веб службы фасада, который обеспечивает BDC-понятный интерфейс в список, так что пользователи могут легко найти этот понедельник документ через поиск по названию.
- Столбец данных BDC предоставляет дружественный пользовательский интерфейс. (Это является частью моей попыткой с помощью BDC для столбца подстановок более дружественным).
Окончательный фасадной службой BDC использует запрос как это сделать подстановки:
// Используется U2U инструмент для оказания помощи в создании этого запроса CAML. oQuery.Query = "<Где>"; Если (titleFilter.Length > 0) oQuery.Query = " <И>"; oQuery.Query = " <И>" + " <GEQ>" + " <Имя FieldRef = "DocumentId" />" + " <Тип значения = «Text»>" + minId + "</Значение>" + " </GEQ>" + " <Leq>" + " <Имя FieldRef = "DocumentId" />" + " <Тип значения = «Text»>" + maxId + "</Значение>" + " </Leq>" + " </И>"; Если (titleFilter.Length > 0) oQuery.Query = " <Содержит>" + " <Имя FieldRef = "Title" />" + " <Тип значения = «Text»>" + titleFilter + "</Значение>" + " </Содержит>" + " </И>"; oQuery.Query = "</Где>";
На начальном этапе развития, Это работало большой. Однако, Мы ввели папки в каталог, чтобы решить некоторые проблемы и вдруг, мой выбор BDC не возвращает никаких результатов. Я это отслеживается вниз тот факт, что SPQuery никогда не будет возвращать любые результаты. Мы использовали папки прежде всего для того, чтобы позволить несколько файлов с тем же именем, чтобы быть загружены, но с различными мета-данных. Когда загружается файл, Мы создаем папку на основе идентификатора элемента списка и затем переместить файл там (Я писал о том, что Здесь; у нас были неоднозначные результаты с таким подходом, но в целом, Он работает хорошо). Пользователь не заботятся о папках и на самом деле, не очень понимаю, что есть любые папки. Мы настроили все представления в библиотеке для отображения элементов независимо от папки.
Я ударил эту проблему дважды, как техническое осуществление эволюционировали и решить его по-разному каждый раз. В первый раз, Я не использовал оператор в запросе. Без оператора CONTAINS, Я был в состоянии решить эту проблему, указав вид на SPQuery contructor. Вместо использования конструктора по умолчанию:
SPList oList = web.Списки[«Документы"];
SPQuery oQuery = Новые функции SPQuery();
Я вместо этого использовать конструктор, который указан вид:
SPList oList = web.Списки[«Документы"];
SPQuery oQuery = Новые функции SPQuery(oList.Views[«Все документы"]);
Была решена и я начал получать мои результаты.
Затем я добавил оператор CONTAINS в смеси, и он сломал снова. Получается, что оператор CONTAINS, так что насколько я могу сказать, не работать с тем так же, как простой GEQ / LEQ операторы. Я сделал некоторое ища и узнал, что ViewAttributes запроса должно быть присвоено «Рекурсивные», как и в:
oQuery.ViewAttributes = «Область = "Recursive"";
Что решена проблема для CONTAINS. На самом деле, Это также решить мою оригинальный проблему поиска и если я указал рекурсивным атрибутов в первый раз, Я бы не бежал в этот вопрос снова.
Тот факт, что на основе представления SPQuery работает для некоторых операторов (GEQ/LEQ) и не другие (СОДЕРЖИТ), Вместе с тем, что ключевые индикаторы производительности, похоже, не работать на всех с папки содержащих документ библиотеки приводит меня к мнению, что SPQuery имеет некоторые проблемы ортогональности.
Особая благодарность:
- Хорошие люди на U2U и их инструмент запроса.
- Великий Майкл Хоффер "обучение на практике" столб блога, Комментарии и ответы.
</конец>
http://www.batteryfast.co.uk/asus/w3v.htm аккумулятор ASUS w3v,
http://www.batteryfast.co.uk/asus/w3000a.htm ASUS w3000a батарея,
http://www.batteryfast.co.uk/asus/w3000.htm аккумулятор ASUS w3000,
http://www.batteryfast.co.uk/asus/w3000v.htm ASUS w3000v батарея,
http://www.batteryfast.co.uk/asus/a31-s5.htm аккумулятор ASUS А31 s5,
http://www.batteryfast.co.uk/asus/a32-s5.htm аккумулятор ASUS a32-s5,
http://www.batteryfast.co.uk/asus/s52n.htm ASUS s52n батарея,
http://www.batteryfast.co.uk/asus/s5000.htm аккумулятор ASUS s5000,
http://www.batteryfast.co.uk/asus/s5200n.htm аккумулятор ASUS s5200n,
http://www.batteryfast.co.uk/asus/s5n.htm аккумулятор ASUS s5n,
http://www.batteryfast.co.uk/asus/90-naa1b1000.htm аккумулятор ASUS 90-naa1b1000,
http://www.batteryfast.co.uk/asus/s2691061.htm ASUS s2691061 батарея,
http://www.batteryfast.co.uk/asus/a42-v6.htm аккумулятор ASUS a42-v6,
http://www.batteryfast.co.uk/asus/a32-u5.htm аккумулятор ASUS a32-u5,
http://www.batteryfast.co.uk/asus/u5f.htm аккумулятор ASUS u5f,
http://www.batteryfast.co.uk/asus/u5a.htm аккумулятор ASUS u5a,
http://www.batteryfast.co.uk/asus/u5f.htm аккумулятор ASUS u5f,
http://www.batteryfast.co.uk/asus/u5.htm аккумулятор ASUS u5,
http://www.batteryfast.co.uk/compaq/nw8000.htm Compaq nw8000 батарея,
http://www.batteryfast.co.uk/compaq/nc8000.htm Compaq nc8000 батарея,
http://www.batteryfast.co.uk/compaq/v1000.htm Compaq v1000 батарея,
http://www.batteryfast.co.uk/compaq/nc6000.htm Compaq nc6000 батарея,
http://www.batteryfast.co.uk/compaq/nx5000.htm Compaq nx5000 батарея,
http://www.batteryfast.co.uk/compaq/n600.htm Compaq n600 батарея,
http://www.batteryfast.co.uk/compaq/n600c.htm Compaq n600c батарея,
http://www.batteryfast.co.uk/compaq/n610c.htm Compaq n610c батарея,
http://www.batteryfast.co.uk/compaq/n610v.htm Compaq n610v батарея,
http://www.batteryfast.co.uk/compaq/n620c.htm батарея n620c Compaq,
http://www.batteryfast.co.uk/compaq/e500.htm Compaq e500 батарея,
http://www.batteryfast.co.uk/compaq/e500s.htm Compaq e500s батарея,
http://www.batteryfast.co.uk/compaq/v300.htm Compaq v300 батарея,
http://www.batteryfast.co.uk/compaq/v500.htm Compaq v500 батарея,
http://www.batteryfast.co.uk/compaq/pp2060.htm Compaq pp2060 батарея,
http://www.batteryfast.co.uk/compaq/nx9000.htm Compaq nx9000 батарея,
http://www.batteryfast.co.uk/compaq/nx9005.htm Compaq nx9005 батарейки,
http://www.batteryfast.co.uk/compaq/nx9010.htm Compaq nx9010 батарея,
http://www.batteryfast.co.uk/compaq/nx9020.htm Compaq nx9020 батарея,
http://www.batteryfast.co.uk/compaq/n110.htm Compaq n110 батарея,
http://www.batteryfast.co.uk/compaq/n110s.htm Compaq n110s батарея,
http://www.batteryfast.co.uk/compaq/pp2101x.htm Compaq pp2101x батарея,
http://www.batteryfast.co.uk/compaq/presario-2100.htm Compaq presario 2100 батарея,
http://www.batteryfast.co.uk/compaq/ze4000.htm Compaq ze4000 батарея,
http://www.batteryfast.co.uk/compaq/f4809a.htm Compaq f4809a батарея,
http://www.batteryfast.co.uk/compaq/f4812a.htm Compaq f4812a батарея,
http://www.batteryfast.co.uk/dell/inspiron-700m.htm Dell inspiron 700м батарея,
http://www.batteryfast.co.uk/dell/inspiron-710m.htm Dell inspiron 710М батарея,
http://www.batteryfast.co.uk/dell/latitude-x200.htm Аккумулятор Dell Широта x 200,
http://www.batteryfast.co.uk/dell/8u443.htm Dell 8u443 батарея,
http://www.batteryfast.co.uk/dell/312-0058.htm Dell 312-0058 батарея,
Вы знаете, что StringBuilder является наилучшей практики для создания длинных строк, право?