2017-04-27 147 views
0

我如何轉換以下lambda表達式爲運行在CSOM一個SharePoint查詢接受參數數組:創建C#lambda表達式

目前的工作版本:

var listItems = list.GetItems(query); 
clientContext.Load(listItems, 
    items => items.Include(
     item => item["Title"], 
     item => item.RoleAssignments 
    ) 
); 
clientContext.Load(list, l => l.Id, l => l.DefaultDisplayFormUrl); 
clientContext.ExecuteQuery(); 

我會怎樣喜歡它的工作:

var fields = new List<string>() 
{ 
    "Title", 
    "ID", 
    "DocumentOrder", 
    "FileRef" 
}; 

var listItems = list.GetItems(query); 
clientContext.Load(listItems, 
    items => items.Include(
     item => fields, 
     item => item.RoleAssignments 
    ) 
); 
clientContext.Load(list, l => l.Id, l => l.DefaultDisplayFormUrl); 
clientContext.ExecuteQuery(); 

這會拋出一個錯誤,是否有可能通過動態列表?

+2

是什麼那是錯誤時,拋出? – x5657

回答

0

雖然不是很理想,我已經能夠做到什麼,我試圖通過調用加載多次循環做:

var fieldNames = new List<string>() 
{ 
    "Title", 
    "ID", 
    "DocumentOrder", 
    "FileRef" 
}; 

var listItems = list.GetItems(query); 

foreach (var fieldName in fieldNames) 
{ 
    clientContext.Load(listItems, 
     items => items.Include(
      item => item[fieldName] 
     ) 
    ); 
} 

clientContext.ExecuteQuery();