问题描述
项目场景:做一个主从表新增编辑的业务。从表的数据我是直接通过前台的js获取新增和编辑的数据放到隐藏于,在点击保存按钮的时候,把前台隐藏域中的所有新增的从表数据和编辑的从表数据通过json反射层对应的从表list。保存代码如下:#region从表数据List<AS_ReqOrder_Dtl>listAS_ReqOrder_Dtl=JsonHelp.JsonToClass<List<AS_ReqOrder_Dtl>>("["+hidReqOrderInfoJson.Value+"]");if(listAS_ReqOrder_Dtl!=null&&listAS_ReqOrder_Dtl.Count>0){model.List_AS_ReqOrder_Dtl=newHashedSet<AS_ReqOrder_Dtl>();//清空for(inti=0;i<listAS_ReqOrder_Dtl.Count;i++){AS_ReqOrder_DtlmodelDtl=listAS_ReqOrder_Dtl[i];modelDtl.AS_ReqOrder=model;modelDtl.IsDel=false;if(modelDtl.Version==0){modelDtl.CreateBy=WebLoginUserInfo.ID.ToStr();modelDtl.CreateDate=DateTime.Now;modelDtl.Sort=0;}else{modelDtl.ModifyBy=WebLoginUserInfo.RealName;modelDtl.ModifyDate=DateTime.Now;}model.AddAS_ReqOrder_Dtl(modelDtl);}}#endregionif(reqID.IsNullOrEmpty()){try{model.Status=iState;model.OrgID=OrgID.Value.ToInt32();varresult=ServerFactory.AS_ReqOrderServer.SaveModel(model).ToInt32();if(result>0){AlertJsMsg("添加成功","ReqOrdeList.aspx");}else{AlertJsMsg("添加失败","");}}catch(Exceptionex){AlertJsMsg("添加失败:"+ex.Message,"");}}else{try{varresult=ServerFactory.AS_ReqOrderServer.UpdateModel(model);if(result){AlertJsMsg("修改成功","ReqOrdeList.aspx");}else{AlertJsMsg("修改失败","");}}catch(Exceptionex){AlertJsMsg("修改失败:"+ex.Message,"");}}
其中model是主表的实体,AS_ReqOrder_Dtl是从表的实体现在新增没问题,编辑就是死活编辑不了。
解决方案
解决方案二:
varresult=ServerFactory.AS_ReqOrderServer.UpdateModel(model);UpdateModel看看这里边的函数,可能是update语句出的问题,比如你没去掉主键等问题