Step-by-Step Learning Plan for ASP.NET Core 3.x


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

  1. Install Visual Studio 2019 Community or Professional edition
  2. Learning the Basics of Visual Studio
  3. Install Visual Studio Code and Learning the Basics
  4. 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.
  5. Learn basic Select, Update and Delete SQL Statements.
  6. 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.
  7. Learn the differences between .NET Core and .NET Framework
  8. Learn the differences between APS.NET Core and ASP.NET
  9. Learn about the version history of ASP.NET Core
  10. Learn how to use .NET CLI Commands (Command Line Interface)
  11. Understanding the ASP.NET Core project templates and folder structures
  12. Understanding the Importance of Startup.cs class in ASP.NET Core
  13. Learn how to configure and inject services in ASP.NET Core apps using ConfigureServices() method
  14. Learn how to configure and setup up the Http Request Pipeline and Middleware using Configure() method
  15. Learn about built-in middleware’s
  16. Learn about the ASP.NET Core's built-in Dependency Injection system
  17. Learn how to use the appSettings.json to store Db connection strings and other important data using JSON.
  18. Learn how to use IConfiguration and Dependency Injection to fetch the stored data from the appSettings.json
  19. Learn how to use static files like .CSS .js and images files within an ASP.NET Core app UseStaticFiles middleware
  20. Learn what is Routing and the new Endpoint Routing in ASP.NET Core 3.x
  21. Understanding what is Model, Controller, and View.
  22. Understanding Convention over configuration
  23. Understanding Razor View Engine and Razor Syntax.
  24. Understanding how data is passed from controller to a view using ViewData, ViewBag, and TempData.
  25. Understanding the use @model and @Model in razor view files.
  26. Understanding what is a ViewModel.
  27. Learning how to pass multiple Models to a View using ViewModels
  28. Understanding the Routing system, Routes, Endpoint Routing, and HTTP basics.
  29. Understanding Action Methods and Types of Result Types. Especially IActionResult and ActionResult
  30. Understanding the use of Tag Helpers and learning how to create Custom Tag Helpers
  31. Understanding how to pass data from View to Controller Action methods using FormCollection, Request object, QueryString, Session object and Model Binders.
  32. Understanding Model Binding. The most important topic that every developer must understand.
  33. Downloading Entity Framework Core 3.x Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.SqlServer Microsoft.EntityFrameworkCore.Tools
  34. 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.
  35. Understanding Model Validation using Data Annotations.
  36. Using jQuery, jQuery validate and jQuery validate Unobtrusive for client-side validation using Data Annotations and Html5 data-* attributes.
  37. Understanding how to show validation error messages in the view using Validation Tag Helpers in ASP.NET Core.
  38. Learning Advanced C# features like Anonymous Methods, Delegates, Lambda Expressions, Extension Methods, var keyword, Anonymous Types
  39. Learn how to write LINQ Queries and when to use IEnumerable and IQueryable
  40. Understanding what is an ORM, concepts of ORM and what is Entity Framework Core
  41. Understanding the difference between ADO.NET and ADO.NET Entity Framework Core
  42. Understanding different approaches of Entity Framework and their uses in a project: Code-First and Database-First approach
  43. Using ASP.NET Core and Entity Framework Core to create a CRUD application.
  44. Understanding the use of Action Verbs when working with Action methods i.e. HttpGet and HttpPost.
  45. Understanding how to create Create, Edit, Delete and Details view files using Razor syntax with Model classes i.e. creating Strongly-typed views.
  46. Understanding how to use ModelState.IsValid and ModelState.AddModelError, ModelState.TryAddModelError, ModelState.TryAddModelException
  47. 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)
  48. Understanding the use of classes like DbContext, DbContextOptions, DbSet and methods like AddDbContextPool(), UseSqlServer().
  49. Understanding Required and Important data annotations to use with Entity Framework Core Code-First (DataType, Display, Required, NotMapped and others)
  50. Understanding Layouts, Sections, Layout property, _ViewStart and _ViewImports files
  51. Understanding how to render DropDownLists, CheckBox, Radio button from database using Tag Helpers
  52. Understanding how to use and render ViewComponents
  53. Understanding how to build Partial View and rendering them.
  54. Understanding Repository pattern, Generic Repository Pattern, and Unit of work pattern.
  55. Learn how to work with EF Core Fluent API OnModelCreating method
  56. Learn how to create 1-to-Many and Many-to-Many relationship using Data Annotations and EF Core Fluent API
  57. Using EF Core Code-First Migration to generate migration files and push them to SQL Server Add-Migration Update-Database
  58. Learning how to Seed the Database using EF Core
  59. Learning how to call Stored Procedures and Functions using Entity Framework Core
  60. Learning how to use ASP.NET Core Identity to create Membership features like Register, Login and Logout.
  61. Learn how to configure ASP.NET Core Identity using AddIdentity AddEntityFrameworkStores
  62. Learn more about ASP.NET Core Identity classes IdentityUser IdentityRole UserManager SignInManager
  63. Learn about UseAuthentication and UseAuthorization middleware when using ASP.NET Core Identity
  64. Using Authorize attribute to check if users are authorized to access certain areas of the web application based on Roles
  65. Learning the basics of HTTP before learning Web API
  66. Learning the basics of JSON before learning Web API
  67. Learn how to use PostMan or Fiddler to test the API's
  68. Implementing Login feature for Web API's using ASP.NET Core Identity and JWT tokens
  69. Understanding how to implement search, paging, sorting in ASP.NET Core app using Entity Framework Core.
  70. Understanding how to render a Grid in ASP.NET Core app using Entity Framework Core and jQuery DataTables.
  71. Understanding CRSF attack and using AntiForgery tokens for security purposes.
  72. Understanding Response Caching and Response Compression in ASP.NET Core.
  73. Logging in ASP.NET Core application using ILogger

Please post your comments below.

Take Care!

Peace

Abhishek Luv


About author


.NET Online Instructor

Hello! My name is Abhishek Luv and I am an online trainer for C# & ASP.NET MVC from Mumbai, India. I provide my online training services in India and overseas. I have successfully done a lot of online training for clients from USA (Chicago, Pennsylvania, Texas, Oklahoma, Seattle, Florida, Michigan), Dubai, UK(Wales, London, Birmingham), Ireland(Dublin), Panama City, Colombia(Bogota), Denmark(Hjørring), Afghanistan, Switzerland(Zurich), Sri Lanka(Colombo), New Zealand, India(Hyderabad, Mumbai, Bangalore, Delhi, Faridabad, Kolkata, Chennai, Madurai, Gujarat).

Recent Blog Posts




Reading Corner Updated for 2018

by Abhishek Luv, Friday, May 25, 2018 at 10:53 PM

Read more

Online Training Feedback #5

by Abhishek Luv, Friday, May 25, 2018 at 10:43 PM

Read more