Логический запрос AND, или CAML, не работающий во внешнем списке - PullRequest
0 голосов
/ 23 марта 2012

Я использую класс ClientContext и запрос CAML для извлечения элементов из внешнего списка в sharepoint 2010. Я построил запрос с логическим условием и условием в CAML-запросе, как этот

 string sDataFilter =<Query><Where><And><Eq><FieldRef Name="Year" /><Value Type="Text">1960</Value></Eq><Contains><FieldRef Name="ChartName" /><Value Type="Text">Chart1</Value></Contains></And></Where></Query>

Когда я превышаю следующий код

List oList = clientContext.Web.Lists.GetById(new Guid(list));
               CamlQuery camlQuery = new CamlQuery();
               string queryContext = "<View><Query>" + sDataFilter + "</Query>" + viewFieldsContext + "</View>";
               camlQuery.ViewXml = queryContext;
               ListItemCollection collListItem = oList.GetItems(camlQuery);
               clientContext.Load(collListItem);
               clientContext.ExecuteQuery();

Я получаю пустой список ListItemCollection. Я перекрестно проверен с помощью U2U CAML Query Builder данные только пустые. Таким образом, во внешнем списке caml-запрос работает нормально для сортировки и простого фильтрационного запроса, например, Где, EqualTo, условие Я не могу использовать логические условия в запросе? Если да, как я могу добиться этого с помощью запроса Caml Может ли кто-нибудь помочь мне решить эту проблему?

1 Ответ

1 голос
/ 23 марта 2012

Проблема ниже строки кода

   string queryContext = "<View><Query>" + sDataFilter + "</Query>" + viewFieldsContext + "</View>";

замените эту строку следующим кодом

  string queryContext = "<View>" + sDataFilter +  viewFieldsContext + "</View>";

проблема в теге Query.Это два раза повторить в запросе.
поздно я знаю, когда это работает

Thax

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...