Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Guide to NoSQL with Azure Cosmos DB

You're reading from   Guide to NoSQL with Azure Cosmos DB Work with the massively scalable Azure database service with JSON, C#, LINQ, and .NET Core 2

Arrow left icon
Product type Paperback
Published in Sep 2018
Publisher Packt
ISBN-13 9781789612899
Length 214 pages
Edition 1st Edition
Languages
Tools
Concepts
Arrow right icon
Authors (2):
Arrow left icon
Gaston C. Hillar Gaston C. Hillar
Author Profile Icon Gaston C. Hillar
Gaston C. Hillar
Daron Yöndem Daron Yöndem
Author Profile Icon Daron Yöndem
Daron Yöndem
Arrow right icon
View More author details
Toc

Table of Contents (9) Chapters Close

Preface 1. Introduction to NoSQL in Cosmos DB 2. Getting Started with Cosmos DB Development and NoSQL Document Databases FREE CHAPTER 3. Writing and Running Queries on NoSQL Document Databases 4. Building an Application with C#, Cosmos DB, a NoSQL Document Database, and the SQL API 5. Working with POCOs, LINQ, and a NoSQL Document Database 6. Tuning and Managing Scalability with Cosmos DB 7. Answers 8. Other Books You May Enjoy

Calculating a cross-partition aggregate with an asynchronous LINQ query


The following lines declare the code for the DoesCompetitionWithTitleExistWithLinq asynchronous static method, which builds a LINQ query to count the number of competitions with the received title. In order to compute this aggregate, we must run a cross-partition query, because the title for the competition can be at any location; that is, at any zip code.

Add the following lines to the existing code of the Program.cs file. The code file for the sample is included in the learning_cosmos_db_05_01 folder in the SampleApp2/SampleApp1/Program.cs file:

private static async Task<bool> DoesCompetitionWithTitleExistWithLinq(string competitionTitle) 
{ 
    var competitionsCount = await client.CreateDocumentQuery<Competition>(collectionUri, 
        new FeedOptions() 
        { 
            EnableCrossPartitionQuery = true, 
            MaxItemCount = 1, 
        }) 
        .Where(c => c.Title == competitionTitle...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime