Jaki jest optymalny sposób uzyskania pozycji listy i ich właściwości z listy SP za pomocą modelu obiektu klienta?Uzyskiwanie wartości pól pozycji listy z listy SP za pomocą obiektu klienta Model
Oto kod, którego używam.
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());
}
}
Chcę usunąć foreach pojedynczy liniowej używany do załadowania elementu listy w kontekście i jeśli to możliwe obciążenie wartości pól punktu pierwszej Execute samo zapytanie.
Próbowałem za pomocą poniższego
context.Load(items,
itema => itema.Include(
item => item,
item=> item.FieldValues,
item => item["CustomerId"]));
który nie działa.
Ktoś może zapewnić czystsze rozwiązanie?
gdy przy użyciu klienta modelu obiektowego strona musimy wyraźnie poprosić o właściwościach jesteśmy W tym konkretnym przypadku potrzebuję F ieldValues kolekcja ListItem, która nie jest wypełniona, chyba że zrobię kontekst. Ładowanie na każdym elemencie listy. –
Twoja odpowiedź dotyczy modelu obiektu serwera, a nie modelu obiektu klienta, o co pyta. – airmanx86
@ airmanx86 - tak, dobry punkt ... przepraszam, zupełnie błędnie przeczytałem ten! – Luke