Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不支持获取错误指定的方法_C#_Linq_Sharepoint_Csom - Fatal编程技术网

C# 不支持获取错误指定的方法

C# 不支持获取错误指定的方法,c#,linq,sharepoint,csom,C#,Linq,Sharepoint,Csom,我有一个linq代码,如下所示 itemCol.Where(x => Convert.ToString(x[internalColumn]) == filter) .Select(x => x[internalColumn].ToString()) .Distinct() .ToList(); itemCol是托管CSOM(ListItemCollection)中的Sharepoint列表项集合。我得到一个类似“不支持指定方法”的错误 堆栈

我有一个linq代码,如下所示

itemCol.Where(x => Convert.ToString(x[internalColumn]) == filter)
       .Select(x => x[internalColumn].ToString())
       .Distinct()
       .ToList();
itemCol
是托管CSOM(ListItemCollection)中的Sharepoint列表项集合。我得到一个类似“不支持指定方法”的错误

堆栈跟踪是

在Microsoft.SharePoint.Client.ClientQueryable'1.GetEnumerator()上

位于System.Collections.Generic.List'1..ctor(IEnumerable'1集合)

位于System.Linq.Enumerable.ToList[TSource](IEnumerable'1源)

这个问题只发生在客户端机器上,而不是任何开发人员机器上。

我也有类似的问题

stacktrace不支持指定的方法:Microsoft.SharePoint.Client.ClientQueryable`1.GetEnumerator()(…)

我已经编写了这段代码,它在Windows Server环境下工作,但在我的Windows 10计算机上不工作:

SP.ListItemCollection collListItem = oList.GetItems(camlQuery);
clientContext.Load(collListItem, (....)
clientContext.ExecuteQuery();
var outlist = (collListItem
          .Select(item => new MyClass()
          {
              ID = Convert.ToInt32(item["ID"])
          }) as IEnumerable<MyClass>)
          .ToList();
return outlist;
SP.ListItemCollection collListItem=oList.GetItems(camlQuery);
加载(collListItem,(..)
clientContext.ExecuteQuery();
var outlist=(collListItem)
.Select(项=>newmyclass()
{
ID=Convert.ToInt32(项[“ID”])
})如(可数)
.ToList();
返回最长时间;
我已经解决了在选择之前将解析集合添加到列表的问题,如下所示:

SP.ListItemCollection collListItem = oList.GetItems(camlQuery);
clientContext.Load(collListItem, (....)
clientContext.ExecuteQuery();
var outlist = (collListItem.ToList()
          .Select(item => new MyClass()
          {
              ID = Convert.ToInt32(item["ID"])
          }) as IEnumerable<MyClass>)
          .ToList();
return outlist;
SP.ListItemCollection collListItem=oList.GetItems(camlQuery);
加载(collListItem,(..)
clientContext.ExecuteQuery();
var outlist=(collListItem.ToList()
.Select(项=>newmyclass()
{
ID=Convert.ToInt32(项[“ID”])
})如(可数)
.ToList();
返回最长时间;
我发现了

我也有类似的问题

stacktrace不支持指定的方法:Microsoft.SharePoint.Client.ClientQueryable`1.GetEnumerator()(…)

我已经编写了这段代码,它在Windows Server环境下工作,但在我的Windows 10计算机上不工作:

SP.ListItemCollection collListItem = oList.GetItems(camlQuery);
clientContext.Load(collListItem, (....)
clientContext.ExecuteQuery();
var outlist = (collListItem
          .Select(item => new MyClass()
          {
              ID = Convert.ToInt32(item["ID"])
          }) as IEnumerable<MyClass>)
          .ToList();
return outlist;
SP.ListItemCollection collListItem=oList.GetItems(camlQuery);
加载(collListItem,(..)
clientContext.ExecuteQuery();
var outlist=(collListItem)
.Select(项=>newmyclass()
{
ID=Convert.ToInt32(项[“ID”])
})如(可数)
.ToList();
返回最长时间;
我已经解决了在选择之前将解析集合添加到列表的问题,如下所示:

SP.ListItemCollection collListItem = oList.GetItems(camlQuery);
clientContext.Load(collListItem, (....)
clientContext.ExecuteQuery();
var outlist = (collListItem.ToList()
          .Select(item => new MyClass()
          {
              ID = Convert.ToInt32(item["ID"])
          }) as IEnumerable<MyClass>)
          .ToList();
return outlist;
SP.ListItemCollection collListItem=oList.GetItems(camlQuery);
加载(collListItem,(..)
clientContext.ExecuteQuery();
var outlist=(collListItem.ToList()
.Select(项=>newmyclass()
{
ID=Convert.ToInt32(项[“ID”])
})如(可数)
.ToList();
返回最长时间;
我找到了它参见。正如他所写:

导致此问题的原因是Sharepoint集合类型不支持完整范围的Linq表达式。若要解决此问题,请使用另一个
.ToList()
将其从Sharepoint集合转换为通用列表,如下所示

尝试:

正如他所写的:

导致此问题的原因是Sharepoint集合类型不支持完整范围的Linq表达式。若要解决此问题,请使用另一个
.ToList()
将其从Sharepoint集合转换为通用列表,如下所示

尝试: