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
This video will give an overview of the entire course
Historically, there has been an impedance mismatch between object-oriented languages and relational databases
We need to know what problems the EF core solves and how it makes developers lives easier.
Since EF Core is built on top of .NET Core, we must understand the .NET Core framework and its key characteristics.
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.
We need to write code to access data in an RDBMS to follow along with the course.
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.
To get started with EF inside .NET Core ASP.NET project, we need to create a project first
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
We need to know how, partially speaking, we can model database tables in C#.
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
We need to learn how to define the desired database structure using entity classes with properties and configuration mechanisms available through DbContext Api
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.
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#.
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.
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
We need to learn LINQ, the query language for Entity Framework Core to be able to create queries.
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
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.
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.
We must think about the speed of software when using EF Core in order to achieve optimal performance.
We need to create a Web API Controller, which we will use to implement CRUD operations that manipulate the 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
Often, we need to update the data we inserted, so we need to add the update functionality to our controller
We must support deletes, so we need to add a delete method to our controller
Mastering Entity Framework Core – Advanced Querying, Migrations and Testing
This video will give an overview of the entire course
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.
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.
The aim of this video is to provide helpful user hints and better experience
The aim of this video is to use business objects for validation to provide better separation of concerns between UI and persistence layer
The aim of this video is to combine related data from multiple tables in a single results set. This is where joins come in.
The aim of this video is to combine similar data from unrelated tables in a single query using unions.
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
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.
The aim of this video is to use tools at our disposal to analyze performance bottlenecks and plan to address them
The aim of this video is to follow a few patterns to avoid potential performance issues in EF Core.
The aim of this video is to add concurrency handling to our models and controllers to address this problem
The aim of this video is to use tools at our disposal to analyze performance bottlenecks and plan to address them
Sometimes we want more isolation from databases when we use entity framework. This is where repository pattern could proof to be useful
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.
The aim of this video is to learn migrations API to support typical database schema evolution scenario.
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.
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.
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.
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
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.
The aim of this video is to know what operating systems, runtimes and databases we can use EF Core with.