2010-09-06 86 views
0

在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的服务(DataContractDataMember),然后将这些定制服务的价值对象到实际的服务器对象(从数据库模型生成,即Linq到Sql或实体数据模型),并在DataContext上手动调用SubmitChanges()

回答

0

如果您处理的错误是删除冲突,则PropertyNames将引发异常,这是正常的。你应该在寻找潜在的数据库错误,这可能会忽略设置非空值或主键违规等。

+0

它一旦将我的身份设置更改为公共,就可以工作。我想我应该使用自定义只读规则的元数据而不是实体设计器。 – 2010-11-08 10:01:14

相关问题