-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Take() after GroupJoin() forces client-side evaluation #14490
Comments
The query compiler can translate group-join by using a left join with an ordering, reading in the results chunked by the parents' ids. For the 'before' case, the query is selecting one parent and then group-joining its children. In other words, the parent row comes from a But when you have the |
GroupJoin which does not convert to LeftJoin is not allowed starting 3.x release. See #17068 |
The below example code results in client-side evaluation of the "take" operation. It works if I move the "take" before the GroupJoin.
In my head the SQL query would be the same in either case (the joined rows should not affect the count/order of the parent rows, after all), so I would expect Take to work on both sides of the GroupJoin.
Steps to reproduce
Further technical details
EF Core version: 2.2.1
Database Provider: Microsoft.EntityFrameworkCore.SqlServer
Operating system: Windows 10 1809
IDE: Visual Studio 2017 15.9.5
The text was updated successfully, but these errors were encountered: