Unable to select the results from DOCUMENTID()
This is a valid SQL query that can be run against CosmosDB:
SELECT DOCUMENTID(c) FROM c
When trying to match up the projection with an example like this it fails as unsupported:
var projection = query.Select(r => DOCUMENTID(r));
This is mapped up and used in the tests:
|
SqlFunctionCallScalarExpression.Names.Documentid, |
But is failing as not implemented:
at Microsoft.Azure.Cosmos.Linq.BuiltinFunctionVisitor.VisitBuiltinFunctionCall(MethodCallExpression methodCallExpression, TranslationContext context)
at Microsoft.Azure.Cosmos.Linq.ExpressionToSql.VisitNonSubqueryScalarExpression(Expression expression, ReadOnlyCollection`1 parameters, TranslationContext context)
at Microsoft.Azure.Cosmos.Linq.ExpressionToSql.VisitScalarExpression(Expression expression, ReadOnlyCollection`1 parameters, TranslationContext context)
at Microsoft.Azure.Cosmos.Linq.ExpressionToSql.CreateInitializers(ReadOnlyCollection`1 arguments, ReadOnlyCollection`1 members, TranslationContext context)
at Microsoft.Azure.Cosmos.Linq.ExpressionToSql.VisitNew(NewExpression inputExpression, TranslationContext context)
at Microsoft.Azure.Cosmos.Linq.ExpressionToSql.VisitNonSubqueryScalarExpression(Expression expression, ReadOnlyCollection`1 parameters, TranslationContext context)
at Microsoft.Azure.Cosmos.Linq.ExpressionToSql.VisitScalarExpression(Expression expression, ReadOnlyCollection`1 parameters, TranslationContext context)
at Microsoft.Azure.Cosmos.Linq.ExpressionToSql.VisitSelect(ReadOnlyCollection`1 arguments, TranslationContext context)
at Microsoft.Azure.Cosmos.Linq.ExpressionToSql.VisitMethodCall(MethodCallExpression inputExpression, TranslationContext context)
at Microsoft.Azure.Cosmos.Linq.ExpressionToSql.Translate(Expression inputExpression, TranslationContext context)
at Microsoft.Azure.Cosmos.Linq.ExpressionToSql.TranslateQuery(Expression inputExpression, IDictionary`2 parameters, CosmosLinqSerializerOptions linqSerializerOptions)
at Microsoft.Azure.Cosmos.Linq.SqlTranslator.TranslateQuery(Expression inputExpression, CosmosLinqSerializerOptions linqSerializerOptions, IDictionary`2 parameters)
at Microsoft.Azure.Cosmos.Linq.CosmosLinqQuery`1.ToQueryDefinition(IDictionary`2 parameters)
at Microsoft.Azure.Cosmos.Linq.CosmosLinqExtensions.ToQueryDefinition[T](IQueryable`1 query)
I have also tried this approach with no success:
var projection = query.Select(r => r.DocumentId());
Here is the result:
{{
"code": "",
"message": "Method 'DocumentId' is not supported., Windows/10.0.19043 cosmos-netstandard-sdk/3.17.1"
}}
Method 'DocumentId' is not supported., Windows/10.0.19043 cosmos-netstandard-sdk/3.17.1
at Microsoft.Azure.Cosmos.Linq.BuiltinFunctionVisitor.VisitBuiltinFunctionCall(MethodCallExpression methodCallExpression, TranslationContext context)
at Microsoft.Azure.Cosmos.Linq.ExpressionToSql.VisitNonSubqueryScalarExpression(Expression expression, ReadOnlyCollection`1 parameters, TranslationContext context)
at Microsoft.Azure.Cosmos.Linq.ExpressionToSql.VisitScalarExpression(Expression expression, ReadOnlyCollection`1 parameters, TranslationContext context)
at Microsoft.Azure.Cosmos.Linq.ExpressionToSql.VisitSelect(ReadOnlyCollection`1 arguments, TranslationContext context)
at Microsoft.Azure.Cosmos.Linq.ExpressionToSql.VisitMethodCall(MethodCallExpression inputExpression, TranslationContext context)
at Microsoft.Azure.Cosmos.Linq.ExpressionToSql.Translate(Expression inputExpression, TranslationContext context)
at Microsoft.Azure.Cosmos.Linq.ExpressionToSql.TranslateQuery(Expression inputExpression, IDictionary`2 parameters, CosmosLinqSerializerOptions linqSerializerOptions)
at Microsoft.Azure.Cosmos.Linq.SqlTranslator.TranslateQuery(Expression inputExpression, CosmosLinqSerializerOptions linqSerializerOptions, IDictionary`2 parameters)
at Microsoft.Azure.Cosmos.Linq.CosmosLinqQuery`1.ToQueryDefinition(IDictionary`2 parameters)
at Microsoft.Azure.Cosmos.Linq.CosmosLinqExtensions.ToQueryDefinition[T](IQueryable`1 query)
Unable to select the results from DOCUMENTID()
This is a valid SQL query that can be run against CosmosDB:
When trying to match up the projection with an example like this it fails as unsupported:
This is mapped up and used in the tests:
azure-cosmos-dotnet-v3/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.Tests/SqlObjects/SqlObjectVisitorBaselineTests.cs
Line 737 in c8935ac
But is failing as not implemented:
I have also tried this approach with no success:
Here is the result: