diff --git a/Microsoft.Azure.Cosmos/src/Query/v3Query/QueryDefinition.cs b/Microsoft.Azure.Cosmos/src/Query/v3Query/QueryDefinition.cs index d68a4fcea5..c1eed49cb3 100644 --- a/Microsoft.Azure.Cosmos/src/Query/v3Query/QueryDefinition.cs +++ b/Microsoft.Azure.Cosmos/src/Query/v3Query/QueryDefinition.cs @@ -55,7 +55,8 @@ internal static QueryDefinition CreateFromQuerySpec(SqlQuerySpec sqlQuery) { if (sqlQuery == null) { - throw new ArgumentNullException(nameof(sqlQuery)); + // It is to support scenarios where all the data needs to be read + return null; } QueryDefinition queryDefinition = new QueryDefinition(sqlQuery.QueryText); diff --git a/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/CosmosItemLinqTests.cs b/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/CosmosItemLinqTests.cs index 5d72595e39..849b2afd0a 100644 --- a/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/CosmosItemLinqTests.cs +++ b/Microsoft.Azure.Cosmos/tests/Microsoft.Azure.Cosmos.EmulatorTests/CosmosItemLinqTests.cs @@ -797,6 +797,18 @@ async Task TestSearch(Expression> expression, string ex } + [TestMethod] + public async Task LinqSelectEverythingWithoutQueryableTest() + { + await ToDoActivity.CreateRandomItems(this.Container, pkCount: 2, perPKItemCount: 1, randomPartitionKey: true); + + QueryDefinition queryDefinition = this.Container + .GetItemLinqQueryable() + .ToQueryDefinition(); + + Assert.AreEqual(2, (await this.FetchResults(queryDefinition)).Count); + } + private class NumberLinqItem { public string id;