Session的概念 在现在UBF中,Session的本意是work unit,即持久层的一个边界,非常轻,主要用作批量提交,并标识这次批量提交的边界,不涉及到事务等概念。 当前ISession可以通过Session的Current属性获得,每调用一次Session的Open方法,Current属性都会被更新 Session的使用
using(ISession session = Session.Open ()) { ... session.Commit();//提交更改,但只是Session范围内的修改更新 }
当发生session嵌套的情况时,每次提交都是真正提交 示例:
using(ISession session1 = Session.Open ())
{ .. using(ISession session2 = Session.Open ()){ ... session2.Commit(); //提交更改,但只是Session2范围内的修改更新 } session1.Commit(); //提交更改,只处理Session1的修改更新 }