クライアントオブジェクトモデルを使用して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を削除したいです。
私は、次の
動作しませんcontext.Load(items,
itema => itema.Include(
item => item,
item=> item.FieldValues,
item => item["CustomerId"]));
を使用してみました。
いずれもクリーナーソリューションを提供できますか?
使用してクライアント側オブジェクトモデルのようになります。この特定の場合、私はF各リスト項目のcontext.Loadを行わない限り、読み込まれていないListItemのieldValuesコレクションです。 –
あなたの答えは、サーバーオブジェクトモデルではなく、クライアントオブジェクトモデルです。これは、質問が尋ねていることです。 – airmanx86
@ airmanx86 - はい、良い点...申し訳ありません、私はこのことを完全に誤解しました! – Luke