listdata.svc へのサービス参照を使用して、SharePoint リストを操作しています。会社のリストと人のリストがあります。
次のようにデータを操作できます。
HomeDataContext proxy = new HomeDataContext(new Uri(url + "/_vti_bin/listdata.svc"));
proxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
PeopleItem person = proxy.People.Where(p => p.Name.Equals(myName)).First();
PeopleItem boss = proxy.People.Where(p => p.Name.Equals(bossName)).First();
CompaniesItem company= proxy.Companies.Where(c => c.ID.Equals(companyName)).First();
company.Employees.Add(person);
company.Boss = boss;
company.Name = "New Name";
proxy.UpdateObject(company);
proxy.SaveChanges();
このメソッドを使用すると、リスト項目の基本的なプロパティ (名前など) を編集できます。ただし、これを使用してルックアップ フィールドを更新することはできません (Boss や複数のルックアップの Employees など)。オブジェクト モデルでは、すべてが機能しているように見え、例外はスローされませんが、更新して保存した後、フィールドは SharePoint で単に空白になります。