gpt4 book ai didi

c# - 如何使用 Session.Query 设置 Nhibernate LINQ 命令超时

转载 作者:太空狗 更新时间:2023-10-29 23:23:02 24 4
gpt4 key购买 nike

有人知道设置 UnderlyingCriteria 的方法吗?使用 Session.Query 时?

我正在尝试为一个特定查询设置更严格的命令超时(或查询超时),并且我正在尝试避免在 session 中的连接或其他查询上添加该约束。

我在旧的 QueryOver 中找到了您可以使用类似这样的功能

// QueryOver returns a IQueryOver<T,T> an nHibernate class 
// with access to UnderlyingCriteria

var query = Session.QueryOver<Puppy>();
query.UnderlyingCriteria.SetTimeout(120);

问题是它很旧,有很多问题,而且还有很多功能问题。

使用 Query返回 IQueryable<T>

 var query = (from c in Session.Query<Puppy>());

IQueryable是一个 MS 类,没有明显的命令超时等权限。

另一种选择是以某种方式为所有命令设置 session 命令超时,然后恢复为默认设置,但除了预先设置命令超时并离开之外,我没有看到任何公共(public)机制可以这样做就这样,喜欢How to set timeout for NHibernate LINQ statement

最佳答案

没关系,在 Nhibernate 的单元测试中找到了一个例子,他们已经为 IQueryable 添加了一些扩展方法。

var query = (from c in Session.Query<Puppy>()).Timeout(12);

关于c# - 如何使用 Session.Query 设置 Nhibernate LINQ 命令超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20890395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com