今天弄了一个下午加晚上,RIA Services里的列表无法做更新修改(提交成功但没结果),RIA Services版本为WCF RIA Services Beta。
查了资料,发现是自动生产DomainService有问题。
首先修改代码如下:
// 对象列表
private List<UpdateReason> updateReasonList = repoDomainService.GetUpdateReasonQuery().Entities.ToList<UpdateReason>();
// 修改单个对象的字段
updateReasonList[0].item_no = 1;
// 提交,提交前单步调试ChangeSet有内容, updateReasonList[0].EntityState为Modeified
repoDomainService.SubmitChanges();
DomainService代码如下 :注释红色部分后提交成功
[EnableClientAccess()]
public class RepoDomainService
{
public void UpdateUpdateReason(UpdateReason currentUpdateReason)
{
//if ((currentUpdateReason.EntityState == EntityState.Detached))
//{
this.ObjectContext.AttachAsModified(currentUpdateReason, this.ChangeSet.GetOriginal(currentUpdateReason));
//}
}
}
文章建议注释所有更新的对应部分,但测试过在修改单个对象时未出现这种现象。