【发布时间】:2014-02-28 23:18:00
【问题描述】:
我有一个简单的表(SQL 服务器和 EF6)Myvalues,其中包含 Id 和 Value 列(双精度)
我正在尝试获取此表中所有值的自然对数之和。我的 LINQ 语句是:
var sum = db.Myvalues.Select(x => Math.Log(x.Value)).Sum();
它编译得很好,但我得到了一个 RTE:
LINQ to Entities 无法识别方法 'Double Log(Double)' 方法,并且该方法无法转换为存储表达式。
我做错了什么/我该如何解决这个问题?
FWIW,我可以直接对数据库执行以下 SQL 查询,得到正确答案:
select exp(sum(LogCol)) from
(select log(Myvalues.Value) as LogCol From Myvalues
) results
【问题讨论】:
标签: linq entity-framework