批量更新从更新返回了意外的行数; 实际行数:0; 预期:1

Ela*_*da2 17 c# sql database nhibernate orm

我很难找出NH异常:

批量更新从更新返回了意外的行数; 实际行数:0; 预期:1

我的Dal代码:

 public T Save(T item)
        {
            using (ISession session = NHibernateHelper.GetSession())
            {
                using (var transaction = session.BeginTransaction())
                {
                    session.SaveOrUpdate(item);

                    transaction.Commit();

                    return item;
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

我的log4net文件:

命令0:UPDATE SET Metadata_FriendDetails用户Id = @ P0,电子邮件= @ P1,名称= @ P2 WHERE FriendId = @ P3; @ P0 = a358ab9d-d481-4bdd-8cb2-18ddc8898c70 [类型:GUID(0)],@ P1 = '1@hotmail.com'[类型:String(4000)],@ P2 = 'myFriend'[类型:String(4000)],@ P3 = 2ea35658-edb1-43e3-b848-e1915d1042df [类型:GUID(0) ]

2011-12-02 13:06:49750 [代理:适配器运行线程测试 'SaveFriendDetails_Test' ID为 '17016e48-1ff4-4dea-8536-6aa3b24e5fb7'] DEBUG NHibernate.AdoNet.AbstractBatcher - 闭IDbCommand的,开放的IDbCommands:0 2011 -12-02 13:06:49751 [代理:适配器运行线程测试 'SaveFriendDetails_Test' ID为 '17016e48-1ff4-4dea-8536-6aa3b24e5fb7'] ERROR NHibernate.Event.Default.AbstractFlushingEventListener - 与会话无法同步数据库状态NHibernate.StaleStateException:批量更新从更新返回意外的行数; 实际行数:0; 预期:1

有谁看到这个问题?

TIA

Ela*_*da2 33

问题是在Save我不应该提供id值,在更新时我必须提供它.