6.1 Three ways of configuring EF Core6.2 A worked example of configuring EF Core6.3 Configuring By Convention 6.3.1 Conventions for entity classes6.3.2 Conventions for parameters in an entity class6.3.3 Conventions for name, type, and size6.3.4 By Convention, the nullability of a property is based on .NET type6.3.5 An EF Core naming convention identifies primary keys6.4 Configuring via Data Annotations6.4.1 System.ComponentModel.DataAnnotations 6.4.2 System.ComponentModel.DataAnnotations.Schema6.5 Configuring via the Fluent API6.5.1 A better way to structure your Fluent API commands6.6 Excluding properties and classes from the database6.6.1 Excluding a class or property via Data Annotations6.6.2 Excluding a class or property via the Fluent API6.7 Configuring model-level query filters6.8 Setting database column type, size, and nullability6.9 The different ways of configuring the primary key6.9.1 Configuring a primary key via Data Annotations6.9.2 Configuring a primary key via the Fluent API6.10 Adding indexes to database columns6.11 Configuring the naming on the database side6.11.1 Configuring table names 6.11.2 Configuring the schema name, and schema groupings6.11.3 Configuring the database column names in a table6.12 Using specific database-provider Fluent API commands6.13 Recommendations for using EF Core’s configuration6.13.1 Use By Convention configuration first—its quick and easy6.13.2 Use validation Data Annotations wherever possible6.13.3 Use the Fluent API for anything else6.14 Shadow properties—hide column data inside EF Core6.14.1 Configuring shadow properties6.14.2 Accessing shadow properties6.15 Backing fields—controlling access to data in an entity class6.15.1 Creating a simple backing field accessed by a read/write property6.15.2 Configuring backing fieldsSummary