2 Querying the database
This chapter covers
- Modeling three main types of database relationships
- Creating and changing a database via migration
- Defining and creating an application DbContext
- Loading related data
- Splitting complex queries into subqueries
This chapter is all about using EF Core for reading, called querying, the database. You’ll create a database that contains the three main types of database relationships found in EF Core. Along the way, you’ll learn to create and change a database’s structure via EF Core.
Next you’ll learn how to access a database via EF Core, reading data from the database tables. You’ll explore the basic format of EF Core queries before looking at various approaches to loading related data with the main data; for instance, loading the author with the book from chapter 1.
After learning the ways to load related data, you’ll start to build the more complex queries needed to make a book-selling site work. This covers sorting, filtering, and paging, plus approaches to combine each of these separate query commands to create one composite database query.
2.1 Setting the scene—our book-selling site
In this chapter, you’ll start building the example book-selling site, referred to as the book app from now on. This example application provides a good vehicle for looking at relationships in queries. This section introduces the database, the various classes, and EF Core parts that the book app needs to access the database.