NHibernate CreateSQLQuery Transaction Issue

我有一个简单的方法…

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

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

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

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

谢谢..!

最佳答案 我通常喜欢这样:

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