Entity Framework Core provides the Code-First approach that enables the developers to create databases based on C# classes so that the domain model can be used to create the database instead of using an existing database. As a first step, you simply define your entity classes, e.g. Student or Grade, with normal C# code. Such classes are the future database tables and the relationships such as one to many or many to many. Then you make a context class which inherits DbContext. This context makes properties of DbSet<TEntity> available to all the entities you wish to operate with, e.g. DbSet<Student> Students and DbSet<Grade> Grades. After preparing your model, you run migrations with the EF Core CLI, or Visual Studio. Migrations convert modifications to your code into SQL instructions that alter or create the database schema. When you start your application, EF Core creates a database and tables on the basis of your models. This is more agile, smooth refactoring, and simple version control so it is the go-to methodology when starting a new project in .NET.
