WCF RIA Services SP1,实体框架4,仅更新已更改的列
||
我使用LinqToEntitiesDomainService类通过Silverlight 4客户端更新数据库。
实体框架ObjectContext的AttachAsModified扩展方法可让您提供原始的实体属性值:
Order original = this.ChangeSet.GetOriginal(currentOrder);
this.ObjectContext.Orders.AttachAsModified(currentOrder, original);
默认情况下,WCF RIA Services不会将原始值发送到服务器,因此需要
将[RoundtripOriginal()]属性应用于他/她的实体。
但是,即使我提供原始值,由Entity Framework生成的SQL也会更新所有列,而不仅是更改的列。由于AttachAsModified()方法不是本机ObjectContext类方法(它是ObjectContextExtensions类中定义的扩展方法),因此我尝试使用
在ObjectSet类中定义的ApplyOriginalValues方法。不用找了。
看来最近发布的实体框架4.1可能有解决方案(不确定)。实体框架4呢? EF是否可以生成sql以仅更新更改的列?
没有找到相关结果
已邀请:
3 个回复
碉罕城爸
您可能需要根据情况更改代码,检查属性是否为只读,这只是一个示例,但是它将帮助您在此基础上进行构建。
讼乐
卧沫