Получение значений полей элемента списка из списка SP с использованием клиентской объектной модели

Каков оптимальный способ получить элементы списка и их свойства из списка 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"]));

, который не работает.

Кто-нибудь может предоставить более чистое решение?

7
задан Sandeep Singh Rawat 16 December 2010 в 13:51
поделиться