首页 新闻 搜索 专区 学院

NHibernate事务疑问?

0
悬赏园豆:20 [待解决问题]
public bool UpdateOrder(List<object> insert, List<object> update)
        {
            ISession iSession = _factory.OpenSession();
            ITransaction IT = iSession.BeginTransaction();
            try
            {
                if (insert != null && insert.Count > 0)
                {
                    object o;
                    long l;
                    foreach (var item in insert)
                    {
                        o = iSession.Save(item);
                        if (o == null)
                        {
                            IT.Rollback();
                            return false;
                        }
                        else
                        {
                            l = long.Parse(o.ToString());
                            if (l <= 0)
                            {
                                IT.Rollback();
                                return false;
                            }
                        }
                    }
                }

                if (update != null && update.Count > 0)
                {
                    foreach (var item in update)
                    {
                        iSession.Update(item);
                    }
                }

                IT.Commit();
                return true;
            }
            catch (Exception e)
            {
                IT.Rollback();
                DalError(e);
                return false;
            }
            finally
            {
                iSession.Flush();
                iSession.Close();
            }
        }

上面是项目中的一段代码,其中用到了NHibernate的事务处理,但是使用过一段时间后发现,有一定的几率出现插入数据成功,但是更新却失败的现象,我实在是找不出问题所在了,求助于各位。

随风net的主页 随风net | 初学一级 | 园豆:189
提问于:2012-11-28 18:53
< >
分享
所有回答(2)
0

请确保insert为null.

三十三块 | 园豆:373 (菜鸟二级) | 2012-11-28 19:59
0
Kencery | 园豆:357 (菜鸟二级) | 2012-11-28 23:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册