You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In various Join/SelectMany scenarios, a JOIN subquery may need to project out a JSON object:
[ConditionalTheory][MemberData(nameof(IsAsyncData))]publicvirtual Task Column_collection_SelectMany_with_projection_to_anonymous_type(boolasync)=>AssertQuery(async,ss=> ss.Set<PrimitiveCollectionsEntity>().SelectMany(c => c.Ints.Select(i =>new{ Original = i, Incremented =i+1})));
Desired NoSQL translation:
SELECT a["Original"], a["Incremented"]
FROM root c
JOIN (
SELECT VALUE
{
"Original" : i,
"Incremented" : (i +1)
}
FROM i IN c["Ints"]) a
WHERE (c["Discriminator"] ="PrimitiveCollectionsEntity")
Hoewver, the a in the SELECT clause above is a reference to a projected ad-hoc JSON object (with Original/Incremented) which doesn't correspond to a type in the model; we currently have no way to represent that, since ObjectReferenceExpression requires an IEntityType. Changing that requires shaper-side changes (see comment in ObjectReferenceExpression); if we can remove that requirement, we can possibly also merge ScalarReferenceExpression and ObjectReferenceExpression to a single SourceReferenceExpression.
The text was updated successfully, but these errors were encountered:
In various Join/SelectMany scenarios, a JOIN subquery may need to project out a JSON object:
Desired NoSQL translation:
Hoewver, the
a
in the SELECT clause above is a reference to a projected ad-hoc JSON object (with Original/Incremented) which doesn't correspond to a type in the model; we currently have no way to represent that, since ObjectReferenceExpression requires an IEntityType. Changing that requires shaper-side changes (see comment in ObjectReferenceExpression); if we can remove that requirement, we can possibly also merge ScalarReferenceExpression and ObjectReferenceExpression to a single SourceReferenceExpression.The text was updated successfully, but these errors were encountered: