【问题标题】:NHibernate CreateSQLQuery Transaction IssueNHibernate CreateSQLQuery 事务问题
【发布时间】:2012-09-18 22:55:33
【问题描述】:

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

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

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

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

我的问题是;如何告诉 NHibernate 我不想使用事务..?

谢谢..!

【问题讨论】:

  • 这与 nhibernate 无关,任何/所有查询都在事务中运行,无论是您明确声明它还是提供者隐式创建它

标签: nhibernate


【解决方案1】:

我通常是这样的:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多