5
基本上,我在嘗試使用nHibernate刪除實體集合時遇到此異常。下面是我的代碼嘗試刪除多個對象時出現NHibernate TooManyRowsAffectedException
public void DeleteAll<T>(IList<T> entities)
{
using(var tx = session.BeginTransaction())
{
try
{
entities.ForEach(e=>session.Delete(e));
tx.Commit();
}
catch(Exception)
{
tx.Rollback();
}
}
}
用HQL工作沒有任何問題,但我寧願堅持LINQish辦法..呵呵,我連接到Oracle數據庫。
如果刪除操作刪除比預期更多的行則拋出該異常。你可以檢查生成的sql和數據庫表來查看哪些語句可能會刪除多行? – Firo
我明白爲什麼拋出異常,它只預計1行受到影響(在這種情況下刪除),但爲什麼? Nhprof在我們的公司網絡環境下不工作:( – Duy
將log4net'NHIbernate.SQL'記錄到一個文件中,將這些sqls複製到oracle客戶端並在那裏運行它們以查看哪一個刪除了多個行 – Firo