我很難弄清楚NH例外:批更新從更新中返回了意外的行計數;實際行數:0;預計:1
批更新從更新返回意外的行數;實際行 count:0;預計:1
我的達爾代碼:
public T Save(T item)
{
using (ISession session = NHibernateHelper.GetSession())
{
using (var transaction = session.BeginTransaction())
{
session.SaveOrUpdate(item);
transaction.Commit();
return item;
}
}
}
我log4net的文件:
命令0:UPDATE Metadata_FriendDetails SET用戶ID = @ P0,電子郵件= @ P1, 名稱= @ p2 WHERE FriendId = @ p3; @ p0 = a358ab9d-d481-4bdd-8cb2-18ddc8898c70 [類型:Guid(0)],@ p1 = '[email protected]'[類型:字符串(4000)],@ @ p2 ='myFriend'[類型:字符串 (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']錯誤 NHibernate.Event.Default.AbstractFlushingEventListener - 不能 同步數據庫狀態與會話 NHibernate.StaleStateException:批量更新返回意外的行 從更新計數;實際行數:0;預計:1
有沒有人看到這個問題?
TIA
一對夫婦possiblites的,你的對象被分離,並從未在DATABSE actaully創建的,所以沒有原單對象行更新。或者更新之前,表中的某個值已更改。我認爲這是一個可重複的懷疑?在創建,更新和保存對象的過程中發佈一些代碼段會很有幫助。 – user957902
我認爲你應該寫異常的來源,例外。它會更有幫助。 – Joshi
added.i can not see why:NHibernate.Event.Default.AbstractFlushingEventListener - 無法使數據庫狀態與會話NHibernate同步 –