批量更新从update返回意外的行数;实际行数:0;预期:1
本文关键字:预期 更新 意外 返回 update | 更新日期: 2023-09-27 18:16:30
我很难弄清楚NH异常:
批量更新从update返回意外的行数实际行数:0;预期:1
My Dal code:
public T Save(T item)
{
using (ISession session = NHibernateHelper.GetSession())
{
using (var transaction = session.BeginTransaction())
{
session.SaveOrUpdate(item);
transaction.Commit();
return item;
}
}
}
My log4net file:
命令0:UPDATE Metadata_FriendDetails SET UserId = @p0, Email = @p1,Name = @p2 WHERE frienddid = @p3a358ab9d-d481-4bdd-8cb2-18ddc8898c70 [Type: Guid (0)], @p1 ='1@hotmail.com'[类型:字符串(4000)],@p2 = 'myFriend'[类型:字符串][4000], @p3 = 2ea35658-edb1-43e3-b848-e1915d1042df [Type: Guid (0)]
2011-12-02 13:06:49,750 [Agent: adapter run thread for test .'SaveFriendDetails_Test'与id"17016 e48 - 1 - ff4 - 4 - dea - 8536 - 6 - aa3b24e5fb7的调试-关闭idb命令,打开IDbCommands: 0 2011-12-02 13:06:49,751 [Agent: adapter run thread for .测试'SaveFriendDetails_Test'与id"17016 e48 - 1 - ff4 - 4 - dea - 8536 - 6 - aa3b24e5fb7")错误不能同步数据库状态与会话NHibernate。批量更新返回意外行从更新计数;实际行数:0;预期:1
有人看到问题了吗?
TIA
问题是在保存时我不应该提供id值,而在更新时我必须提供它
保存前必须设置Id对象为null
例子:
obj.setId(null);
objectDao.save(obj);