我正在使用对 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 或多个查找员工)。在对象模型中,一切似乎都正常工作并且没有引发异常,但是在更新和保存之后,这些字段在 SharePoint 中只是空白。