Are you planning to learn ASP.NET Core?
Don’t know how and where to start.
My primary goal for writing this blog post is to give you a big picture that will guide you to learn ASP.NET Core properly.
Step-by-Step Learning Plan for ASP.NET Core 3.x
- Install Visual Studio 2019 Community or Professional edition
- Learning the Basics of Visual Studio
- Install Visual Studio Code and Learning the Basics
- Install SQL Server 2018 Express/Developer edition. I have seen many students/newbies, and professional developers don't know how to install SQL Server correctly. Please learn it.
- Learn basic Select, Update and Delete SQL Statements.
- Learn about Nuget and Bower. Nuget is a package management system for installing Dependencies and third-party libraries. Bower is used to download client-side Dependencies and third-party libraries.
- Learn the differences between .NET Core and .NET Framework
- Learn the differences between APS.NET Core and ASP.NET
- Learn about the version history of ASP.NET Core
- Learn how to use .NET CLI Commands (Command Line Interface)
- Understanding the ASP.NET Core project templates and folder structures
- Understanding the Importance of Startup.cs class in ASP.NET Core
- Learn how to configure and inject services in ASP.NET Core apps using ConfigureServices() method
- Learn how to configure and setup up the Http Request Pipeline and Middleware using Configure() method
- Learn about built-in middleware’s
- Learn about the ASP.NET Core's built-in Dependency Injection system
- Learn how to use the appSettings.json to store Db connection strings and other important data using JSON.
- Learn how to use IConfiguration and Dependency Injection to fetch the stored data from the appSettings.json
- Learn how to use static files like .CSS .js and images files within an ASP.NET Core app UseStaticFiles middleware
- Learn what is Routing and the new Endpoint Routing in ASP.NET Core 3.x
- Understanding what is Model, Controller, and View.
- Understanding Convention over configuration
- Understanding Razor View Engine and Razor Syntax.
- Understanding how data is passed from controller to a view using ViewData, ViewBag, and TempData.
- Understanding the use @model and @Model in razor view files.
- Understanding what is a ViewModel.
- Learning how to pass multiple Models to a View using ViewModels
- Understanding the Routing system, Routes, Endpoint Routing, and HTTP basics.
- Understanding Action Methods and Types of Result Types. Especially IActionResult and ActionResult
- Understanding the use of Tag Helpers and learning how to create Custom Tag Helpers
- Understanding how to pass data from View to Controller Action methods using FormCollection, Request object, QueryString, Session object and Model Binders.
- Understanding Model Binding. The most important topic that every developer must understand.
- Downloading Entity Framework Core 3.x
- Playing around with scaffolding feature in ASP.NET Core. It creates views, controllers, and context (EF Core DbContext for data access) by using a model class.
- Understanding Model Validation using Data Annotations.
- Using jQuery, jQuery validate and jQuery validate Unobtrusive for client-side validation using Data Annotations and Html5 data-* attributes.
- Understanding how to show validation error messages in the view using Validation Tag Helpers in ASP.NET Core.
- Learning Advanced C# features like Anonymous Methods, Delegates, Lambda Expressions, Extension Methods, var keyword, Anonymous Types
- Learn how to write LINQ Queries and when to use
- Understanding what is an ORM, concepts of ORM and what is Entity Framework Core
- Understanding the difference between ADO.NET and ADO.NET Entity Framework Core
- Understanding different approaches of Entity Framework and their uses in a project: Code-First and Database-First approach
- Using ASP.NET Core and Entity Framework Core to create a CRUD application.
- Understanding the use of Action Verbs when working with Action methods i.e. HttpGet and HttpPost.
- Understanding how to create Create, Edit, Delete and Details view files using Razor syntax with Model classes i.e. creating Strongly-typed views.
- Understanding how to use ModelState.IsValid and ModelState.AddModelError, ModelState.TryAddModelError, ModelState.TryAddModelException
- Understanding how to pass data from View to a Controller Action method via a ViewModel, and then transferring the ViewModel object data to the model object and the passing the model object instance to EF Core DbContext DbSet.Add() method for persisting the data in the database (Using ViewModel + model + EF for Create and Edit Action methods and Views)
- Understanding the use of classes like DbContext, DbContextOptions, DbSet and methods like AddDbContextPool(), UseSqlServer().
- Understanding Required and Important data annotations to use with Entity Framework Core Code-First (DataType, Display, Required, NotMapped and others)
- Understanding Layouts, Sections, Layout property, _ViewStart and _ViewImports files
- Understanding how to render DropDownLists, CheckBox, Radio button from database using Tag Helpers
- Understanding how to use and render ViewComponents
- Understanding how to build Partial View and rendering them.
- Understanding Repository pattern, Generic Repository Pattern, and Unit of work pattern.
- Learn how to work with EF Core Fluent API
- Learn how to create 1-to-Many and Many-to-Many relationship using Data Annotations and EF Core Fluent API
- Using EF Core Code-First Migration to generate migration files and push them to SQL Server
- Learning how to Seed the Database using EF Core
- Learning how to call Stored Procedures and Functions using Entity Framework Core
- Learning how to use ASP.NET Core Identity to create Membership features like Register, Login and Logout.
- Learn how to configure ASP.NET Core Identity using
- Learn more about ASP.NET Core Identity classes
- Learn about
UseAuthorization middleware when using ASP.NET Core Identity
Authorize attribute to check if users are authorized to access certain areas of the web application based on Roles
- Learning the basics of HTTP before learning Web API
- Learning the basics of JSON before learning Web API
- Learn how to use PostMan or Fiddler to test the API's
- Implementing Login feature for Web API's using ASP.NET Core Identity and JWT tokens
- Understanding how to implement search, paging, sorting in ASP.NET Core app using Entity Framework Core.
- Understanding how to render a Grid in ASP.NET Core app using Entity Framework Core and jQuery DataTables.
- Understanding CRSF attack and using AntiForgery tokens for security purposes.
- Understanding Response Caching and Response Compression in ASP.NET Core.
- Logging in ASP.NET Core application using ILogger
Please post your comments below.