该集合尚未初始化

时间:2016-05-31 09:19:38

标签: c# sharepoint csom

我正在尝试使用CSOM从Sharepoint库中检索所有项目,并创建一个列表。我确信它与代码的顺序有关。问题是如何?

ListItemCollection collListItem = oList.GetItems(camlQuery);
var newList = new List<Item>();
var items = oList.GetItems(camlQuery);
context.Load(collListItem);

context.ExecuteQuery();

foreach (var col in items)
{

    newList.Add(new Item()
    {
        ID = Convert.ToInt32(col["ID"]),

    });
}

我收到以下错误:

  

该集合尚未初始化。尚未请求或请求尚未执行。可能需要明确要求

1 个答案:

答案 0 :(得分:5)

您应该加载items对象而不是collListItems,因此您的代码应该如下所示:

ListItemCollection collListItem = oList.GetItems(camlQuery);
var newList = new List<Item>();
var items = oList.GetItems(camlQuery);
context.Load(items);
context.ExecuteQuery();