SQL Server中的ServiceStack.OrmLite nolock提示

时间:2014-10-01 14:17:02

标签: servicestack ormlite-servicestack

我一直在审查ServiceStack.OrmLite.SqlServer库并且它工作得非常好但我们正在查看生成的SQL,我们想在我们的select语句中添加一个nolock提示但是找不到任何关于这个的文档?< / p>

当前:

exec sp_executesql N'SELECT "GroupID", "Name", "ShortName", "GroupTypeID", "ParentGroupId" FROM "Group" WHERE "GroupID" = @GroupID',
                   N'@GroupID int', @GroupID = 5543

想:

exec sp_executesql N'SELECT "GroupID", "Name", "ShortName", "GroupTypeID", "ParentGroupId" FROM "Group" **WITH (NOLOCK)** WHERE "GroupID" = @GroupID',
                   N'@GroupID int', @GroupID = 5543

任何人都知道如何做到这一点?

1 个答案:

答案 0 :(得分:7)

我的首选是将数据库调用包装在系统事务中,而不是尝试将SQL Server提示嵌入到查询中。

using (var db = dbFactory.OpenDbConnection())
{
    using (var tran = db.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted))
    {
        return db.Select<Group>();
    }
}