【问题标题】:The collection has not been initialized集合尚未初始化
【发布时间】:2016-05-31 18:31:44
【问题描述】:

我正在尝试使用 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"]),

    });
}

我收到以下错误:

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

【问题讨论】:

  • 错误出现在哪里?
  • @Aimnox at foreach (var col in items)
  • 如果你调试,是items为空吗?
  • 你在 context.Load 中使用了一些 collListItem,这里没有显示。那是什么?
  • 假设你的 oList 是一个有效的对象,你应该调用 context.Load(items) 而不是 context.Load(collListItems)

标签: c# sharepoint csom


【解决方案1】:

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

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

【讨论】:

  • 前两行不用,也可以省略。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-10
  • 2016-07-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多