4.05 out of 5
25 reviews on Udemy

Learning Path: Mastering Entity Framework Core

Explore & Master Entity Framework for developers with the latest features
Packt Publishing
288 students enrolled
English [Auto-generated]
Understand what ORM tools are and what problems they solve
Create a new .Net project with Entity Framework Core Mode
Understand how to persist application data to a database using Entity Framework Api.
Query the data using Linq and gain insight in how Linq fits into Entity Framework
Get Familiar with mapping entities explore possible types of relationships for database model
Understand how to create, update and delete data, commonly referred to as CUD operations
Explore data validation using attributes and use validation inside MVC controllers
Dive into advance query and update techniques such as joins and access stored procedures and views
Explore how to enhance the performance or scalability of Entity Framework Core

Entity framework Core is a powerful Object Relational Mapping (ORM) framework that offers an automated mechanism to developers for storing and accessing the data in the database. It is designed to be extensible, lightweight and support cross platform development. This Video learning Path will provide .NET developers with this knowledge and guide them through working efficiently with data and will help you in Mastering Entity Framework Core.

The highlights of this Learning Path are:

  • Explore advantage of Entity Framework and ORM Concepts.
  • Create New .Net Project with Entity Framework Core Model
  • Get Expertise on Mapping entities and database structure
  • Get Grips on the New features in Entity Framework Core
  • Perform migrations and protect existing data during rename operations
  • Master advanced query techniques
  • Delve into concurrency handling and understand transactions

You will start by understanding ORM concepts. Further you will learn to build your first sample project to see EF in action. Then know how to create mapping between objects and database structures. Learn how to create, retrieve, update and delete the data in a relational database using Entity Framework Core. This technology will allow you to deploy your data access logic across platform while eliminating the need to maintain database structure separately. You will then move to database configuration and learn how to write classes that define database structure. You will see how Linq can be used with Entity Framework to give you access to your stored data. You will then learn how to use Entity Framework to persist information in a relational database management system, such as SQL Server. You will explore Data Validation and learn how to implement data validation inside our model using attributes. You will also dive into Advanced Query Techniques. Then you will proceed to create custom migrations that update database schema. Finally you will dedicated to testing and setting up further learning path.

By the end of the Video learning Path course you will acquire necessary skills to program many applications helping you Master Entity Framework Core.

Meet Your Expert:

Sergey Barskiy has a Bachelors’ Degree in Computer Science with over 20 years’ experience in Software Development. Sergey has architected and coded many software projects using Microsoft technologies for over 15 years. Presently he is working as an Architect with Tyler Technologies, the largest provider of municipal government software in the United States. He was a Microsoft MVP in IIS/ASP.NET for years, in the division that works on Entity Framework at Microsoft. He has used Entity Framework on large projects, starting with the first beta in 2008. He has been working on web applications for almost a decade. He is familiar with a number of web technologies, such as Angular, Web API, and other web frameworks He feels he has a lot to share with audiences, given that he wrote a book on Entity Framework and authored a video on using Angular 2 in an MVC Core application. He has been using EF and .NET on a daily basis for almost a decade.

Mastering Entity Framework Core – Mapping, Querying and Manipulating Data

The Course Overview

This video will give an overview of the entire course

Quick Dive into Object Relational Mapping

Historically, there has been an impedance mismatch between object-oriented languages and relational databases

Understanding Entity Framework Core Concepts

We need to know what problems the EF core solves and how it makes developers lives easier.

Working with .NET Core

Since EF Core is built on top of .NET Core, we must understand the .NET Core framework and its key characteristics.

EF Capabilities and Architecture

We need to know what key object we will need to manipulate and understand how EF core translates our C# code to SQL code. We also need to update the schema at times.

Prerequisites to Creating an ASP.NET Core Application

We need to write code to access data in an RDBMS to follow along with the course.

Command Line Interface for .NET Core

We need to learn how to use the command-line interface tool, dotnet.exe, in order to be proficient and effective as we write our code.

Create New Project Using VS 2017 with Entity Framework

To get started with EF inside .NET Core ASP.NET project, we need to create a project first

Configure Entity Framework in an ASP.NET Core Project

In order to effectively use Entity Framework Core inside an ASP.NET Core application, we must add it to dependency injection and use connection strings to specify the database we want to talk to

Creating Simple Model and Create a Database for the Application

We need to know how, partially speaking, we can model database tables in C#. 

Save and Query a New Record

We must conclude the introductory part of the course by adding data to our newly created database and querying it back out in order to ensure that we’ve properly configured and modeled our simplest use case

Mapping Classes to Tables

We need to learn how to define the desired database structure using entity classes with properties and configuration mechanisms available through DbContext Api

Mapping Properties to Columns

We must know how to create columns in the database that correspond to our classes’ properties with the desired characteristics through the DbContext Api and the use of attributes.

One-to-many Relationships

In an RDBMS system, R stands for relational, meaning that the tables relate to each other in the same way entities are related to one another in our .NET code. We need to be able to model the most common type, one-to-many relationship, using C#.

Many-to-many Relationships

We need to define another common way to relate entities, many-to-many relationships. In this case, a single row from one table may relate to many on another, and vice-versa.

One-to-one Relationships

We must conclude the introductory part of the course by adding data to our newly created database and querying it back out to ensure that we’ve properly configured and modelled our simplest use case

Using LINQ, Method, and Query Syntax

We need to learn LINQ, the query language for Entity Framework Core to be able to create queries. 

Simple Queries, Using Order By, and Where Clauses

In order to be able to get multiple records from a database, we need to learn basic queries.


Often, we do not need to look at each row of data, when we are only interested in summarizing them

Using Projections

Sometimes, we do not need to get all the properties filled if we need to get a subset of columns. This is where projections come in.

Including Child Records

Sometimes, we need to get data from multiple related tables to match our goals. There are many ways of achieving this purpose in EF Core.

Performance Considerations

We must think about the speed of software when using EF Core in order to achieve optimal performance.

Create a Web API Controller with CRUD Operations

We need to create a Web API Controller, which we will use to implement CRUD operations that manipulate the data

Insert Data

In order to be able to insert new data into the database through web service calls, we need to add the insert implementation to our Web API controller

Update Data

Often, we need to update the data we inserted, so we need to add the update functionality to our controller

Delete Data

We must support deletes, so we need to add a delete method to our controller

Mastering Entity Framework Core – Advanced Querying, Migrations and Testing

The Course Overview

This video will give an overview of the entire course

Implementing Data Validation Using Attributes

The aim of this video is to make sure we validate the data before persisting it in the database to ensure all business rules are followed.

Validation In Controllers

The aim of this video is to intercept invalid data in our API inside web controller instead of waiting till DbContext fires to have more flexibility in the process.

Exposing Validation in MVC Views

The aim of this video is to provide helpful user hints and better experience

Using Business Objects for Validation

The aim of this video is to use business objects for validation to provide better separation of concerns between UI and persistence layer

Windowing Functions
Working with Joins

The aim of this video is to combine related data from multiple tables in a single results set. This is where joins come in.

Left Outer Joins and Unions

The aim of this video is to combine similar data from unrelated tables in a single query using unions.

Using Stored Procedures and Views

The aim of this video is to use existing database assets or have a facility to optimize our data access code with database procedures and views

Asynchronous Code

The aim of this video is to consider performance and scalability of our EF Core based applications as part of development. We need to optimize for cost, and this is where processing more request on the same hardware is important. Asynchronous API lets us achieve that.

Profiling Queries and Logging

The aim of this video is to use tools at our disposal to analyze performance bottlenecks and plan to address them

General Performance Tips

The aim of this video is to follow a few patterns to avoid potential performance issues in EF Core. 

Concurrency Handling

The aim of this video is to add concurrency handling to our models and controllers to address this problem

Understanding Transactions

The aim of this video is to use tools at our disposal to analyze performance bottlenecks and plan to address them

Using Repository Pattern With EF

Sometimes we want more isolation from databases when we use entity framework. This is where repository pattern could proof to be useful

Automatic Migrations

The aim of this video is to change the object model and consequently database schema. Entity Framework Core has functionality called Migrations, designed to assist using this task, allowing to maintain code and schema together. 

Migrations API

The aim of this video is to learn migrations API to support typical database schema evolution scenario.

Manual Migrations

The aim of this video is to make non-structural changes, such as populate tables with preloaded data. Those are use cases for writing migrations by hand instead of scaffolding them.

Handling Existing Data

The aim of this video is to study techniques and API that will help us avoid data loss as we evolve database schema via Migrations.

Creating Integration Tests

The aim of this video is to test our code, such as a Web API controller, to ensure that we save or retrieve data properly in our application.

Creating Unit Tests

The aim of this video is to insert new data into the database through web service calls, we need to add insert implementation to our Web API controller

Reverse Engineer Context for an Existing Database

The aim of this video is to start using EF Core on an established project with an existing database. We want to be able to create DbContext for this database without spending a lot of effort.

Other Databases and Runtimes

The aim of this video is to know what operating systems, runtimes and databases we can use EF Core with.

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.1 out of 5
25 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


6 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion