在 EntityFramework 中,Take(5) 是否必须位于所有Where() 子句之后?

问题描述 投票:0回答:1

我设置了一个查询(代码中有很多条件决定要添加哪些

Where()
子句。

我发现如果我先执行

Take(5)
然后执行
Where()
子句,我什么也得不到。但如果我把它放在
Where()
子句之后,那么它就会按预期工作。

这是设计使然吗?

entity-framework entity-framework-core
1个回答
0
投票

Take(5)
应始终出现在查询的末尾。您实质上是说,一旦执行查询,就获取前 5 个结果。我不确定如果
Take(x)
Where()
之前执行会发生什么,但我的猜测是它只是选择数据库中的第一个
x
条目并执行
Where()
,这不太可能返回任何有意义的事情

© www.soinside.com 2019 - 2024. All rights reserved.