sql-server - 如何在 NHibernate 中使用 READPAST 提示?

标签 sql-server nhibernate query-hints

有什么办法可以让 NHibernate 使用 the READPAST hint从 SQL Server 选择数据时?

最佳答案

选项#1简单方法:SQL查询

Session.CreateSQLQuery("select * from YourEntityTable with (readpast) where SomeColumn = :col")
.AddEntity(typeof(YourEntity))
.SetString("col", value)                            
.UniqueResult<YourEntity>();

选项 #2 需要更多工作:

如果您不使用 NHibernate.LockMode 之一,您可以将方言的 AppendLockHint() 重写为:

public override string AppendLockHint(LockMode lockMode, string tableName)
{
    if (lockMode == <lockModeYouWantToSacrificeForThis>)
    {
        return tableName + " with (readpast)";
    }
    return tableName;
}

关于sql-server - 如何在 NHibernate 中使用 READPAST 提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5104695/

相关文章:

sql-server - SQLBulkCopy 完成时的行计数

sql-server - 如何通过引用列位置而不是列名称来对 Power Query 编辑器中的列重新排序

sql - 将 IN 与多列一起使用

sql-server - 查询优化器无法将谓词推过汇总?提示也不起作用

sql - 我应该使用快速查询提示 number_rows/FASTFIRSTROW 吗?

sql-server - 通过 go-mssqldb 查询 golang SQL Server

nhibernate - 如何在 NHibernate 中删除子对象?

nhibernate - DDD : Primary keys (Ids) and ORMs (for example, (NHibernate)

C#,在不将整个集合加载到内存中的情况下循环遍历 NHibernate 对象的最佳方法

SQL Server : the maximum recursion 100 has been exhausted before statement completion