假设我要做一些需要访问 NHibernate 的ISession
. 例如,通过运行 Sql 查询ISQLQuery
或通过运行 LINQ-to-NHibernate session.Linq<MyType>()
。我知道有两种访问方式ISession
:
ActiveRecordMediator.GetSessionFactoryHolder().CreateSession()
ActiveRecordMediator.Execute()
各有什么优缺点?另外还有其他替代方法吗?
假设我要做一些需要访问 NHibernate 的ISession
. 例如,通过运行 Sql 查询ISQLQuery
或通过运行 LINQ-to-NHibernate session.Linq<MyType>()
。我知道有两种访问方式ISession
:
ActiveRecordMediator.GetSessionFactoryHolder().CreateSession()
ActiveRecordMediator.Execute()
各有什么优缺点?另外还有其他替代方法吗?
我想不出任何技术上的理由比另一个更喜欢一个,但是 ActiveRecordMediator.Execute 是记录在案的方式。
顺便说一句,您不需要任何这些来执行 LINQ 查询,您可以改用 Castle.ActiveRecord.Linq。