2011-06-15 47 views
0

我會嘗試在僞代碼中解釋。關於事務的一個nhibernate會話問題

這裏有兩種會話 s1和s2

INT totalEntity = 0;

Thread1 
{ 
s1.BeginTransaction(); 
loop (infinite) 
{ 
    totalEntity = s1.List<Entity>().Count(); 
} 
s1.EndTransaction(); 
} 


s2.BeginTransaction(); 
s2.Insert<Entity>(); 
s2.EndTransaction(); 

當我運行s2時,totalEntity仍然是零,因爲s1.Transaction沒有提交。我怎樣才能得到真正的實體總數爲1,在循環中?

+0

您使用的是哪個數據庫?哪個事務隔離級別? – 2011-06-15 06:49:12

回答

0

你可以調用flush,它會導致db被更新。

0

我認爲如果事務處於循環內部會更好。