【发布时间】:2014-05-16 01:07:44
【问题描述】:
我需要将 SQRT 函数用作 Linq EF 查询中 where 子句的一部分。我想我可以这样做:
var qry = context.MyTable.Where("sqrt(it.field) > 1");
但它返回错误提示“'sqrt' 无法解析为有效的类型构造函数或函数。靠近函数、方法或类型构造函数,第 6 行,第 5 列。”
我一直认为 linq 从字面上获取 where 子句中的内容并将其转换为直接在 SQL 中执行的语句。好像不是这样的……
有人知道解决方法吗?
谢谢
【问题讨论】:
-
我认为您需要比较的数字并不总是一,对吧?原因...如果是...请不要使用 sqrt。 Sqrt(1) = 1
-
重新标记。没有 C#3.5(参见stackoverflow.com/questions/247621/…)
标签: sql-server-2008 c#-3.0 linq-to-entities