在 Linq EF 查询中使用 SQRT

2024-01-11

我需要使用 SQRT 函数作为 Linq EF 查询中 where 子句的一部分。我想我可以这样做:

var qry = context.MyTable.Where("sqrt(it.field) > 1");

但它返回一个错误,指出“‘sqrt’无法解析为有效的类型构造函数或函数。,靠近函数、方法或类型构造函数,第 6 行第 5 列。”

我一直认为 linq 从字面上获取 where 子句中的内容并将其转换为直接在 SQL 中执行的语句。看来事实并非如此...

有人知道解决方法吗?

Thanks


我不知道你是如何针对 EF 得到答案的。当我用 EF4 尝试时,它对我不起作用。我会得到:

LINQ to Entities 无法识别“Double Sqrt(Double)”方法,并且此方法无法转换为存储表达式。

因此,在我对此进行了一番努力之后(毕竟,Math.Pow(double)被支持,并且SQRT在 SQL 中可用),我意识到一个值的平方根与其一半的幂相同。

所以,这个解决方案效果很好。

from e in context.MyEntities
     let s = Math.Pow(e.MyDouble, 0.5)
     select s;

生成的 SQL 使用POWER代替SQRT:

SELECT 
POWER( CAST( [Extent1].[MyDouble] AS float), cast(0.5 as float(53))) AS [C1]
FROM [dbo].[MyEntities] AS [Extent1]

一个足够简单的解决方法来解决一个愚蠢的问题。希望这可以帮助其他人。

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

在 Linq EF 查询中使用 SQRT 的相关文章

随机推荐

  • 哪种性能最好:使用 XPath 的 XPathNavigator 与使用查询的 Linq to Xml?

    我有一个应用程序 在其中使用 XPathNavigator 来迭代节点 它运行良好 但我想知道如果我使用 LINQ to Xml 我将获得什么好处 性能 可维护性 使用 XPath LINQ to Xml 对性能有何影响 我正在使用 C n
  • 将静态 IP 地址与 Amazon EC2 结合使用

    我想将 Amazon Web Service 免费微实例用于我的不同项目以进行测试和个人目的 但我需要一些静态公共 IP 来运行我的服务器 那可能吗 我可以从哪里购买 IP 并将其与我的 AWS 一起使用 EC2 弹性 IP 地址 http
  • ActiveAdmin不会保存有很多并且属于很多字段

    我有 2 个型号 类别和帖子 它们使用 has many and belongs to many 关系进行连接 我检查了 Rails 控制台 关系正常 我在 activeadmin 中创建了复选框来使用此表单字段设置帖子类别 f input
  • 为什么 %prec 在此 bison 语法中不起作用?

    考虑以下 Bison 语法 这是从我正在研究的一个更大的语法中剥离出来的 token ident left left CALLPREC start add expr ident call add call expr prec CALLPRE
  • 在 Mono 上使用自定义 SSL 客户端证书 System.Net.HttpClient

    我在用着Microsoft HTTP 客户端库 https www nuget org packages Microsoft Net Http来自 NuGet 我基本上尝试使用 X509Certificate2 证书在 HttpClient
  • lambda 内隐含的匿名类型

    In 这个问题 https stackoverflow com q 43973776 1876620 用户 Holger 提供一个答案 https stackoverflow com a 43983558 1876620这显示了我不知道的匿
  • 无法将导出用作类型,因为导出是一个值

    运行时出现此错误flow check 但我不确定这意味着什么 无法将导出用作类型 因为导出是一个值 要获取值的类型 请使用 typeof 错误位置是0 1 在 flow注释处 这是代码 flow import Chunk from mode
  • svn commit 不带-m

    我尝试过输入svn commit它将弹出一个屏幕 其中显示正在添加 更改 等的文件列表 以及在消息中输入的位置 但按 Enter 会在消息中添加换行符 而不是启动提交 是否有热键或某些组合键来启动提交 看起来底部有某种类似 emacs 的控
  • 如何以及在何处使用 AsyncStorage 保存整个 redux 存储

    我想知道是否必须执行类似的操作 才能在反应本机应用程序中使用 AsyncStorage 保存应用程序的整个存储 并在应用程序启动时检查它是否存在 var store loadInitialState async gt try var val
  • Vuetify 构建为 Web 组件样式未显示

    我正在使用 Vue 和 Vuetify 以及 Web 组件构建一个应用程序 当我将 Vuetify 添加为 Web 组件时 CSS 样式 Vuetify 消失了 我尝试将以下内容添加到 demo html 文件中但这没有帮助 我的仓库是vu
  • android listview半透明选择行的颜色

    我需要在列表视图中实现半透明的行选择 以及 按下 状态 如果我应用纯色 那么一切都会按预期进行 但如果我应用半透明颜色 44444444 那么我会看到默认选择颜色 在我的 2 3 android 上为橙色 在它的顶部是我的颜色 它使橙色稍微
  • 在 XML 中应如何解释带有 CDATA 和空格的文本节点?

    System Xml 解析功能给我带来了一些惊喜 我想知道以下内容如何should被解释 或者如果这是 取决于实现 版本1
  • NuGet - RID 和 TFM 示例

    我一直在 GitHub 上查看 NuGet3 的代码 并且在以下位置看到了几种文件夹模式https github com NuGet NuGet3 blob a5bc907d36ddaa8d4fa6c499e50d7ebf8993ed39
  • 如何在Python中用空格替换所有这些特殊字符?

    如何在 python 中用空格替换所有这些特殊字符 我有一份公司名称清单 例如 myfiles txt 我的公司 INC 老酒私人有限公司 大师头脑有限公司 顶点实验室有限公司 印度新公司 印美私人有限公司 这里 按照上面的例子 我需要文件
  • 如何从 Java 运行 cygwin?

    我想从 Java 开始 如何从 Java 程序启动 cygwin 首先 您必须将 bash exe 设置为环境变量 以便此行将启动 bash Runtime rt Runtime getRuntime execute bash
  • 使用 Firebase Auth 登录 iOS 应用是否满足“导出合规信息”加密要求

    在使用 App Store Connect 上传应用程序时 我看到过有关导出合规性信息加密问题的类似问题 但我仍在寻找问题的直接答案 我正在上传 iOS 应用程序 必须回答以下问题 出口合规信息 您的应用程序使用加密吗 即使您的应用程序仅使
  • Sharepoint 2013 计算字段作为超链接呈现为文本

    I have a column in Sharepoint 2013 and set the type to Calculated I have set the data return type to integer pic attache
  • 如何在中间件中使用“this”上下文

    我出于我的目的编写了自己的中间件作为模块 如下所示 myMiddleware js module exports fn1 function req res next console log fn1 next fn2 function req
  • 错误:无法加载 libphutil

    我们已经安装运行Phabricator在我们的一台服务器中 今天 我按照 中给出的标准步骤对其进行了升级 https secure phabricator com book phabricator article upgrading htt
  • 在 Linq EF 查询中使用 SQRT

    我需要使用 SQRT 函数作为 Linq EF 查询中 where 子句的一部分 我想我可以这样做 var qry context MyTable Where sqrt it field gt 1 但它返回一个错误 指出 sqrt 无法解析