-
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
Cosmos: Stop nesting results in extra JSON object #34044
Conversation
d02cf8e
to
3070d21
Compare
6932959
to
64f3652
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ajcvickers looks pretty good! 🐑 🇮🇹 on the shaper generation changes which I don't follow all the way, aside from that there's mainly the paging problem (I pushed a failing test) and a bunch of nits.
Once you're happy, you can approve and I'll merge.
...hapedQueryCompilingExpressionVisitor.CosmosProjectionBindingRemovingExpressionVisitorBase.cs
Show resolved
Hide resolved
...osmos/Query/Internal/CosmosShapedQueryCompilingExpressionVisitor.PagingQueryingEnumerable.cs
Outdated
Show resolved
Hide resolved
test/EFCore.Cosmos.FunctionalTests/Query/OwnedQueryCosmosTest.cs
Outdated
Show resolved
Hide resolved
test/EFCore.Cosmos.FunctionalTests/Query/OwnedQueryCosmosTest.cs
Outdated
Show resolved
Hide resolved
test/EFCore.Cosmos.FunctionalTests/Query/OwnedQueryCosmosTest.cs
Outdated
Show resolved
Hide resolved
test/EFCore.Cosmos.FunctionalTests/Query/PrimitiveCollectionsQueryCosmosTest.cs
Outdated
Show resolved
Hide resolved
test/EFCore.SqlServer.FunctionalTests/Scaffolding/Baselines/BigModel/ManyTypesEntityType.cs
Outdated
Show resolved
Hide resolved
Also needs a rebase, which either you or I can do - let me know what you prefer. |
Closes dotnet#25527 Co-Authored-By: Arthur Vickers <ajcvickers@hotmail.com>
31e8cbf
to
37a90b8
Compare
@ajcvickers as discussed offline, here's a draft PR which changes the Cosmos NoSQL we generate to add VALUE for single-projection SelectExpressions; this stops wrapping results in an additional JSON object.
The tests to look at are NorthwindSelectQueryTestBase.Select_scalar (for scalar projections) and NorthwindSelectQueryTestBase.Select_customer_identity (for structural types); I've included all the information here and below. Note that we we also have array projections - both scalar and projections - which should work the same way; but there's a bit of extra trouble there which I'll be looking at next.
Closes #25527