public async Task ItemLINQWithCamelCaseSerializerOptions(bool isGatewayMode) { Action <CosmosClientBuilder> builder = action => { action.WithSerializerOptions(new CosmosSerializationOptions() { PropertyNamingPolicy = CosmosPropertyNamingPolicy.CamelCase }); if (isGatewayMode) { action.WithConnectionModeGateway(); } }; CosmosClient camelCaseCosmosClient = TestCommon.CreateCosmosClient(builder, false); Assert.IsNotNull(camelCaseCosmosClient.ClientOptions.Serializer); Assert.IsTrue(camelCaseCosmosClient.ClientOptions.Serializer is CosmosJsonSerializerWrapper); Cosmos.Database database = camelCaseCosmosClient.GetDatabase(this.database.Id); Container containerFromCamelCaseClient = database.GetContainer(this.Container.Id); IList <ToDoActivity> itemList = await ToDoActivity.CreateRandomItems(container : containerFromCamelCaseClient, pkCount : 2, perPKItemCount : 1, randomPartitionKey : true); //Testing query without camelCase CosmosSerializationOptions using this.Container, should not return any result IOrderedQueryable <ToDoActivity> linqQueryable = this.Container.GetItemLinqQueryable <ToDoActivity>(true); IQueryable <ToDoActivity> queriable = linqQueryable.Where(item => item.CamelCase == "camelCase"); string queryText = queriable.ToQueryDefinition().QueryText; Assert.AreEqual(queriable.Count(), 0); //Testing query with camelCase CosmosSerializationOptions using containerFromCamelCaseClient, should return all the items linqQueryable = containerFromCamelCaseClient.GetItemLinqQueryable <ToDoActivity>(true); queriable = linqQueryable.Where(item => item.CamelCase == "camelCase"); queryText = queriable.ToQueryDefinition().QueryText; Assert.AreEqual(queriable.Count(), 2); }
internal static async Task <ContainerCore> CreateNonPartitionedContainer( Cosmos.Database database, string containerId, string indexingPolicy = null) { DocumentCollection documentCollection = new DocumentCollection() { Id = containerId }; if (indexingPolicy != null) { documentCollection.IndexingPolicy = JsonConvert.DeserializeObject <IndexingPolicy>(indexingPolicy); } await NonPartitionedContainerHelper.CreateNonPartitionedContainer( database, documentCollection); return((ContainerInlineCore)database.GetContainer(containerId)); }