Каков оптимальный способ получить элементы списка и их свойства из списка SP с использованием клиентской объектной модели?
Вот код, который я использую.
string server = "http://localhost";
ClientContext context = new ClientContext(server);
Web web = context.Web;
var spList = web.Lists.GetByTitle("Contact");
CamlQuery query = new CamlQuery();
var items = spList.GetItems(query);
context.Load(items,
itema => itema.Include(
item => item,
item => item["CustomerId"]));
context.ExecuteQuery();
Console.WriteLine("Items");
foreach (var item in items.ToList())
{
context.Load(item);
}
context.ExecuteQuery();
foreach (var item in items)
{
foreach (var a in item.FieldValues)
{
Console.WriteLine(a.Key + ":" + a.Value.ToString());
}
}
Я хочу удалить одиночный лайнер foreach используется для загрузки элемента списка в контексте и, если возможно, загрузки значений полей элемента в самом первом запросе Execute.
Я попытался использовать следующий
context.Load(items,
itema => itema.Include(
item => item,
item=> item.FieldValues,
item => item["CustomerId"]));
, который не работает.
Кто-нибудь может предоставить более чистое решение?