首页 新闻 会员 周边

NHibernate主从表的新增和编辑问题

0
悬赏园豆:100 [待解决问题]

项目场景:做一个主从表新增编辑的业务。从表的数据我是直接通过前台的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 = new HashedSet<AS_ReqOrder_Dtl>();//清空
            for (int i = 0; i < listAS_ReqOrder_Dtl.Count; i++)
            {
                AS_ReqOrder_Dtl modelDtl = 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);
            }
        }
        #endregion

        if (reqID.IsNullOrEmpty())
        {
            try
            {
                model.Status = iState;
                model.OrgID = OrgID.Value.ToInt32();
                var result = ServerFactory.AS_ReqOrderServer.SaveModel(model).ToInt32();
                if (result > 0)
                {
                    AlertJsMsg("添加成功", "ReqOrdeList.aspx");
                }
                else
                {
                    AlertJsMsg("添加失败", "");
                }
            }
            catch (Exception ex)
            {
                AlertJsMsg("添加失败:" + ex.Message, "");
            }
        }
        else
        {
            try
            {
                var result = ServerFactory.AS_ReqOrderServer.UpdateModel(model);

                if (result)
                {
                    AlertJsMsg("修改成功", "ReqOrdeList.aspx");
                }
                else
                {
                    AlertJsMsg("修改失败", "");
                }
            }
            catch (Exception ex)
            {
                AlertJsMsg("修改失败:" + ex.Message, "");
            }
        }

 

 

其中model是主表的实体,AS_ReqOrder_Dtl是从表的实体

现在新增没问题,编辑就是死活编辑不了。

eZplusy的主页 eZplusy | 初学一级 | 园豆:16
提问于:2016-05-31 15:45
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册