私はNHibernateの上のステートレスセッションとINSERTコマンドを使用するときに私が見つけた行動に意見したいと思います(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が持っている作業単位パターンがアプリケーションに実装されていますか? –