我正在寻找如何通过WCF数据服务5.5更新实体部分,只需更新整个实体的几个字段。
我找到了几种方法。
我可以使用context.AttachTo(...);
和context.UpdateObject(tp);
更新整个实体但是所有实体的字段都会更新。我想只更新一些字段。
向RequestPipeline
添加一些逻辑并删除不应更新的字段,如以下博客中所述:http://blogs.msdn.com/b/astoriateam/archive/2013/07/26/using-the-new-client-hooks-in-wcf-data-services-client.aspx
手动创建请求。
还有其他方法吗?有没有办法配置System.Data.Services.Client.DataServiceContext
以启用部分更新?
答案 0 :(得分:0)
大多数客户端默认使用HTTP PATCH,它在OData中使用并由WCF数据服务实现支持(以前作为MERGE,在指定PATCH之前)。
从您的问题来看,您似乎想知道从服务器到DBMS进行部分更新,而不是从客户端到服务器。您似乎也在使用Entity Framework提供程序。如果这是正确的,我建议你使用entity-framework标签提出你的问题,并将其从对WCF数据服务的任何引用中删除,因为它并不真正相关。