我想对我发现,当我使用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具有的工作单元模式? –