Я попытаюсь объяснить в псевдокоде.
Есть две сессии
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 не зафиксирована. Как я могу получить реальный totalEntity как 1, в цикле?