首页新闻招聘找找看知识库
  • ISession session = NHelper.GetCurrentSession();            

    using (ITransaction tx = session.BeginTransaction())            

    {
                User du = session.Get<User>("lucky0000");                                       

        du.tel = "13111111111";                          

          session.Update(du);            

                      tx.Commit();             

     

    }

     

    以前使用没有问题 现在报错 

    Batch update returned unexpected row count from update; actual row count: 2; expected: 1

    ISession session = NHelper.GetCurrentSession();          

                User du = session.Get<User>("lucky0000");                                       

          du.tel = "13111111111";                    

          session.Update(du);            

    只使用这段的话就没有问题, 不知道是什么问题

     

     

  • lucky0000
    2010-11-28 15:40 lucky0000
    UPDATE User
    SET

    [tel] = '13111111111'
    WHERE UserName = 'lucky0000'

    通过NHibernate Profiler查到是这段语句报错 但直接可以执行
    不明白哪里的问题
    第1楼 回到顶楼
  • lucky0000
    2010-11-28 15:44 lucky0000
    直接执行后会显示

    (1 行受影响)

    (1 行受影响)

    2行收到影响 是这个原因?

    但是 使用 select * from user where UserName = 'lucky0000' 只有一条数据
    第2楼 回到顶楼
  • lucky0000
    2010-11-28 15:46 lucky0000
    在服务器上sqlserver 2008执行是
    (1 行受影响)

    (1 行受影响)

    在本地 sqlserver 2000 执行显示
    (1 行受影响)

    要疯了...
    第3楼 回到顶楼
  • lucky0000
    2010-11-28 16:33 lucky0000
    原来是触发器的原因
    第4楼 回到顶楼
  • 李永京
    2010-11-29 12:52 李永京
    实际更新数量为2条,而你预期想更新一条
    第5楼 回到顶楼
  • 刘剑_1989
    2015-04-16 13:41 刘剑_1989
    @lucky0000


    这个错误我也遇到了 也是因为触发器的问题 .
    想问一下. 你是怎么解决的?
    第6楼 回到顶楼
  • 刘剑_1989
    2015-04-16 13:41 刘剑_1989
    @lucky0000
    直接关闭触发器么?
    第7楼 回到顶楼
登录后才能评论,请先登录注册