Silverlight 4 DomainService - EntitiesInError - EntityConflict - PropertyNames抛出InvalidOperationException

时间:2010-09-06 12:47:17

标签: c# silverlight silverlight-4.0 ria domainservices

在Silverlight 4 RIA中为新的DomainService introductory tutorial后,我遇到了意外的异常。当我执行更新时,属性EntitiesInError[index].EntityConflict.PropertyNames会引发以下异常:

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的服务和自定义服务对象(DataContractDataMember),然后分配这些自定义服务对象的值到实际的服务器对象(从DB模型生成,是Linq到Sql或实体数据模型),并在DataContext上手动调用SubmitChanges()

1 个答案:

答案 0 :(得分:0)

如果您正在处理的错误是删除冲突,PropertyNames将抛出异常,这是正常的。您应该查找底层数据库错误,这可能忽略了设置非空值或主键冲突等。