Book Image

ASP.NET Core 3 and Angular 9 - Third Edition

By : Valerio De Sanctis
Book Image

ASP.NET Core 3 and Angular 9 - Third Edition

By: Valerio De Sanctis

Overview of this book

<p>Learning full stack development calls for knowledge of both frontend and backend web development. By covering the impressive capabilities of ASP.NET Core 3.1 and Angular 9, right from project setup through to the deployment phase, this book will help you to develop your skills effectively. </p><p>The book will get you started with using the .NET Core framework and Web API Controllers to implement API calls and server-side routing in the backend. Next, you will learn to build a data model with Entity Framework Core and configure it using either a local SQL Server instance or cloud-based data stores such as Microsoft Azure. The book will also help you handle user input with Angular reactive forms and frontend and backend validators for maximum effect. You will later explore the advanced debugging and unit testing features provided by xUnit.net (.NET Core) and Jasmine, as well as Karma for Angular. Finally, you will implement various authentication and authorization techniques with the ASP.NET Core Identity system and the new IdentityServer, as well as deploy your apps on Windows and Linux servers using IIS, Kestrel, and Nginx. </p><p>By the end of this book, you will be equipped with the skills you need to create efficient web applications using ASP.NET Core and Angular.</p>
Table of Contents (14 chapters)
10
Authentication and Authorization
12
Windows and Linux Deployment
ufw

Understanding migrations

Before we move on, it would be useful to say a few words explaining what Code-First Migrations actually are and the advantages we gain by using them.

Whenever we're developing an application and defining a data model, we can be sure that it will change a number of times for many good reasons: new requirements from the product owner, optimization processes, consolidation phases, and so on. A bunch of properties will be added, deleted, or have their types changed. Chances are, sooner or later, we'll be adding new entities as well and/or changing their relation pattern according to our ever-changing needs.

Each time we do something like that, we'll also put our Data Model out of sync with its underlying, Code-First generated database. This won't be a problem when we're debugging our app within a development environment because that scenario usually allows us to recreate the database from scratch whenever the project changes.

Upon deploying...