具有独立条件的 NHibernate 查询...

2024-01-01

我有这个 :

var query = session.Query<MyClass>();    

// Here I need to execute a detached criteria, like that :
//  query.UnderlyingCriteria.Add(SpatialExpression.Within("Geo", extent));

var t = query.Select(item => new MyClassView
                                      {
                                          Name, Year, Code
                                      }

这是使用 Query 做到这一点的方法吗?或者也许还有另一种方式?我需要一个 IQueryable 结果...

Thanks


linq 提供程序在幕后并不使用 Criteria,它使用 HQL 解析器中的 AST。如果您确实需要 IQueryable 那么您可以制定这样的查询

var ids = session.QueryOver<MyClass>()
    .UnderlyingCriteria.Add(SpatialExpression.Within("Geo", extent))
    .Select(myclass => myclass.Id)
    .List<int>();

var query = session.Query<MyClass>()
    .Where(x => ids.Contains(x.Id))
    .Select(item => new MyClassView
    {
        Name, Year, Code
    });

注意:但这需要 2 个往返

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有独立条件的 NHibernate 查询... 的相关文章

随机推荐

  • 如何配置Tomcat使用1个以上的CPU?

    我们有一个新的客户端 目前我们正在对具有 100 个并发 http 线程的生产类服务器进行压力测试 使用 Jmeter 问题是 即使我们有 2 个 Xeon 处理器 每个 CPU 有 4 个核心 总 共 8 个核心 我只能看到 tomcat
  • 多个输出路径(Java - Hadoop - MapReduce)

    我做了两项 MapReduce 作业 我希望第二项作业能够将结果写入两个不同目录中的两个不同文件中 我想要某种类似于 FileInputFormat addInputPath multiple input path 的东西 但对于输出 我对
  • 回购同步重复路径问题

    我已经为oneplus构建cyanogenmod有一段时间了 我已经用boeffla内核替换了库存内核 但是截至今天我遇到了一个问题 之前能够与新内核重新同步 一切都说现在当我进行回购同步时 致命 home noahvt BuildServ
  • 在android中创建缩放位图时保持图像质量

    我有一张尺寸为 960x800 的图像 我试图让它填满屏幕 我目前的做法是加载完整的 960x800 位图并使用源和目标Rect对象 到目前为止 我的目标矩形为 480x320 屏幕尺寸 源矩形为 960x800 background Bi
  • 如何使用“...”(变量)参数? [复制]

    这个问题在这里已经有答案了 可能的重复 C 和 C 中的可变参数函数是什么 https stackoverflow com questions 3870128 what are variadic functions in accordanc
  • 放大一条曲线,使其可以沿着 R 图中的另一条曲线显示

    我有一个 R 图 我想在其中展示IF the red curve 现在位于图的底部 未正确显示 乘以一个常数 它可以match the blue curve目前显示 我想知道我怎样才能最好scale up the 红 曲线以便它准确地mat
  • Apache Derby - java.sql.SQLException:无法启动数据库

    首先 这是我第一次使用 Apache Derby 我正在使用 netbeans 愿意使用嵌入式 apache derby 并且我按照以下教程配置和安装数据库 然后 我使用项目属性将 derby jar 文件附加到我的项目中 http net
  • Angular2 - ngOnDestroy() 未在类似路线上调用

    我有一个 Angular2 应用程序 其路线如下 path component ContentComponent children path folder folderId resolve currentFolder CurrentFold
  • 使用 CefSharp v65 加载本地 html/css/js 文件

    我正在尝试在 WinForms 中使用 CefSharp v65 加载本地 html css js 文件 我找到了与此相关的其他堆栈溢出帖子 但他们都没有使用新的内置版本FolderSchemeHandlerFactory 而不是实现他们自
  • 如果第二个输入字段已填充,则禁用输入字段

    完全是个新手 我只想知道当第二个输入字段被填充时如何动态禁用输入字段 eg td td
  • 将列中的所有行更新为新值

    抱歉 我确信这个问题已经被问过很多次了 但我已经四处寻找一个很好的例子 但一直没能找到 我想运行一种方法将值插入到表中所有行的特定列中 为了让您了解我正在使用的方法和查询 这是我的学生表的工作更新方法 public void updateS
  • 拉丁字符检查

    那里有一些类似的问题 但没有一个是完全相同的或者有适合我的答案 我需要一个javascript函数来验证文本字段是否包含所有有效的拉丁字符 因此没有cryllic或中文 只有拉丁文 具体来说 基本拉丁语 不包括 C0 控制字符 Latin
  • 为 python 2.7 安装 MySQLdb 返回错误

    pip install MySQL python 1 2 4b4 tar gz 在 Python 2 7 ubuntu 18 04 上返回此错误 你能帮助我吗 pip install MySQL python 1 2 5 zip Proce
  • 为什么当 repo 变大时 git 操作会变慢

    我知道当 repo 变大时 git 会变慢 但为什么 由于 git 将文件存储为单独的目录和文件 git 我不知道为什么操作变慢 让我们来看看commit手术 最近 我从 master 克隆了 webkit 存储库和分支 然后我提交了一个2
  • 在 NodeJS 中使用 JSONStream 时出现内存不足问题

    我正在尝试使用 NodeJS 中的 JSONStream 库将 json 94mb 大 从 http 请求流式传输到本地文件 但是 该应用程序崩溃了out of memory错误 即使使用 256mb 内存标志调用代码 node max o
  • 扩展 lib.d.ts 中定义的变量的类型定义

    我有一些使用 mootools 的遗留代码需要转换 Mootools 引入了一个新的带有两个参数的 Element 构造函数 我没有找到 mootools 的任何类型定义文件 所以我必须自己编写 Typescript 标准库 lib d t
  • 清单合并失败:需要为 显式指定 android:exported

    合并错误 错误 android exported 需要为元素显式指定 面向 Android 12 及更高版本的应用需要指定 显式值android exported当对应的组件 定义了一个意图过滤器 看https developer andr
  • 取代标准 C++ 分配器?

    我想用更强大的分配器替换标准分配器 C 标准只需要对 vector resize 进行溢出检查 许多库提供的各种 C 分配器在提供负面的自测试时都会一败涂地 我可以使用更强大的分配器 ESAPI 的分配器不仅检查溢出 还具有调试工具来帮助发
  • 如何从GZIPed数据的InputStream中获取解压缩数据的InputStream?

    我调用一个返回 gzip 压缩文件的服务 我将数据作为输入流 由javax activation DataHandler getInputStream 来自响应 我想做的是 在不向磁盘写入任何内容的情况下 获取存档中文件中解压缩数据的 In
  • 具有独立条件的 NHibernate 查询...

    我有这个 var query session Query