NHibernate CreateSQLQuery Transaction Issue

时间:2009-10-12 14:13:31

标签: nhibernate

我有一个简单的方法......

Session.CreateSQLQuery(syntax).List<T>();

问题是,当我针对一个存在连接服务器连接的存储过程执行此操作时,我收到以下错误...

无法执行此操作,因为链接服务器“MyLinkedServer”的OLE DB提供程序“MSDASQL”无法启动分布式事务。

我的问题是;我怎么能告诉NHibernate我不想使用交易..?

谢谢..!

1 个答案:

答案 0 :(得分:2)

我通常喜欢这样:

session = PersistenceManager.GetCurrentSession();                
IList<T> lst;
using ( var trans = session.BeginTransaction() )
{
    IQuery sql = session.CreateSQLQuery(syntax);
    lst = slq.List<T>();
    trans.Commit();
}