在Silverlight 4 RIA中新的DomainService的introductory tutorial之后,出现意外的异常。当我执行更新时,属性EntitiesInError[index].EntityConflict.PropertyNames
会抛出以下异常:Silverlight 4 DomainService - EntitiesInError - EntityConflict - PropertyNames抛出InvalidOperationException
InvalidOperationException:PropertyNames不可用于删除冲突。
服务方法执行:
public void UpdateSr_Supplier(sr_Supplier currentsr_Supplier)
{
// UPDATE the existing sr_Supplier
this.ObjectContext.sr_Supplier.AttachAsModified(currentsr_Supplier, this.ChangeSet.GetOriginal(currentsr_Supplier));
}
从上this thread答案我猜,我应该还是用自定义的服务对象启用Silverlight的服务(DataContract
和DataMember
),然后将这些定制服务的价值对象到实际的服务器对象(从数据库模型生成,即Linq到Sql或实体数据模型),并在DataContext上手动调用SubmitChanges()
。
它一旦将我的身份设置更改为公共,就可以工作。我想我应该使用自定义只读规则的元数据而不是实体设计器。 – 2010-11-08 10:01:14