我想對我發現,當我使用INSERT命令與NHibernate的無狀態會話行爲的意見(NB。我使用NHibernate的2.1.2)NHibernate的無國籍插入行爲
的情況是這樣的
//STATEFULL SESSION
var session = sessionFactory.OpenSession()
using(var transaction = session.BeginTransaction()){
var entity = new MyEntityType();
entity.Id = 1;
session.Save(entity);
var entity2 = session.Get<MyEntityType>(1);
//OK! It returns saved entity...as I expect
transaction.Commit();
}
但是......對無狀態會話,行爲改變...
//STATELESS SESSION
var session = sessionFactory.OpenStatelessSession()
using(var transaction = session.BeginTransaction()){
var entity = new MyEntityType();
entity.Id = 1;
session.Insert(entity);
var entity2 = session.Get<MyEntityType>(1);
//entity2 IS NULL!!! Why?
transaction.Commit();
}
我的問題是...我怎麼能檢查如果我已經插在無狀態會話的事務範圍的項目?
請原諒我,但是您的應用程序是否實現了NHibernate具有的工作單元模式? –