2

SharePoint クライアント オブジェクト モデルを使用して SharePoint のリストをクエリしていますが、ヘルパー アセンブリで Linq クエリを動的に作成する必要があります。

"Id","Title","LinkFileName","Status" を含む列名の list<string> から次を作成するにはどうすればよいですか?

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

1 に答える 1

4

私の問題を解決してくれた彼の投稿について、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();
}
于 2013-05-20T02:37:15.187 に答える