【问题标题】:SharePoint linq query to retrieve specific columns from a listSharePoint linq 查询以从列表中检索特定列
【发布时间】:2018-07-03 19:16:10
【问题描述】:

我正在使用 SharePoint 客户端对象模型来查询 Sharepoint 中的列表,并且需要在帮助程序程序集中动态创建 Linq 查询。

如何从包含 "Id","Title","LinkFileName","Status" 的列名列表 创建以下内容?

context.Load(listItems, items => items.Include(  
  item => item["Id"],  
  item => item["Title"],  
  item => item["LinkFilename"],  
  item => item["Status"]  
));     

【问题讨论】:

    标签: c# linq sharepoint


    【解决方案1】:

    非常感谢 Manvir 的帖子解决了我的问题:

    http://www.manvir.net/invalidqueryexpressionexception-the-query-expression-is-not-supported/

    ClientContext.Load 替换为支持运行时构建表达式的ClientContext.LoadQuery

    private static Expression<Func<ListItem, object>>[] CreateListItemLoadExpressions(List<string> viewFields)
    {
       List<Expression<Func<ListItem, object>>> expressions = new List<Expression<Func<ListItem, object>>>();
       foreach (string viewFieldEntry in viewFields)
       {
          string fieldInternalName = viewFieldEntry;
          Expression<Func<ListItem, object>> retrieveFieldDataExpression = listItem => listItem[fieldInternalName];
          expressions.Add(retrieveFieldDataExpression);
       }
       return expressions.ToArray();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-16
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多