栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

LINQ To Entities无法识别方法Last。真?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

LINQ To Entities无法识别方法Last。真?

这种局限性归结为这样一个事实,即最终它必须将该查询转换为 SQL, 而SQL具有

SELECT TOP
(在T-SQL中)但没有
SELECTBOTTOM
(没有这种东西)。

不过,有一种简单的方法,就是先 降序 然后执行a

First()
,这就是您所做的。

编辑: 其他提供程序可能具有的不同实现

SELECT TOP 1
,在Oracle上可能更像
WHERe ROWNUM = 1

编辑:

另一种效率较低的替代方法- 我不建议这样做! -是

.ToList()
在之前调用您的数据
.Last()
,它将立即执行到那时为止已建立的LINQ
To Entities expression,然后您的.Last()将起作用,因为在那一点上,.Last()
.Last()
有效地执行了改为 LINQ
to Objects
expression。(正如您所指出的那样,它可能会带回成千上万的记录和浪费的CPU实现对象,这些对象将永远不会被使用)

再次,我不建议您再进行此操作,但这确实有助于说明LINQ表达式执行的位置和时间之间的差异。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/465532.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号