我的第一个目标是在'Pending'
中获取状态为sharepoint list
的所有项目。到目前为止我的代码是这样的:
using (var clientContext = new ClientContext(spSite.Trim()))
{
clientContext.Credentials = GetNetworkCredential();
var approvalLists = clientContext.Web.Lists.GetByTitle(approvalLibraryName);
CamlQuery query = new CamlQuery();
query.ViewXml = "<View>" +
"<Query>" +
"<Where>" +
"<Eq>" +
"<FieldRef Name='IsApproved'/><Value Type='Choice'>Pending</Value>" +
"</Eq>" +
"</Where>" +
"</Query>" +
"</View>";
ListItemCollection approvalListItem = approvalLists.GetItems(query);
clientContext.Load(approvalListItem);
clientContext.ExecuteQuery();
}
它正在工作但我意识到特定项目可以在该列表中插入多于1个。例如,对于项request_100
,它可以为pending
设置一行,为approved
设置另一行。所以我只需要获取状态为'Pending'
的非重复项。那么有可能只有那些有计数= 1的人才能获取组吗?因为我在想是否可以加载所有项目然后使用linq列表操作它。或者你们有另外一个建议吗?
答案 0 :(得分:0)
我的第一个想法确实也是在ItemCollection上使用linq,它应该可以正常工作。
但只是一个想法,如果你只选择'待定'行,你会不会得到重复的?或者可以有多个项目,例如'request_100',状态为'待定'?
请查看与您相同的问题:https://sharepoint.stackexchange.com/questions/43262/how-to-use-groupby-in-caml-query