You will start the course by exploring data validation and learn how to implement data validation inside your model using attributes. Then you will use validation inside MVC controllers and expose validations inside your MVC views in the user interface. Next you will delve into advanced query techniques. You will see how asynchronous code helps your applications scale better and explore query performance. Further, you will learn how to protect application data from concurrent access by multiple users, see how transactions enable changes to multiple tables and learn how to create an abstraction layer on top of Entity Framework by using the repository pattern.
Next you will embrace migrations and embark on a journey designed to develop the database structure as your application evolves using Entity Framework Core migrations. Then you will create custom migrations that update database schemas and use custom scripts to perform migrations while protecting existing data during rename operations. Finally you will explore testing and set up a further learning path by writing unit and integration tests. You will see how to bring Entity Framework into a project based on an existing database. In conclusion, you will learn about additional areas Entity Framework core can be used in, and what types of data structure (besides RDBMS) can be accessed with EF Core.
About the author
Sergey Barskiy has a Bachelors’ Degree in Computer Science with over 20 years of 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, 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 the audience, given the fact 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.
Exploring Data Validation
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.
Advanced Query Techniques
The aim of this video is to learn how to retrieve the data in pages using windowing functions.
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.
Performance and Scalability
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.
Advanced Update Support
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.
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.
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.
Testing and Runtimes
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.