In this series, we are going to go through a detailed example of how to use .NET Core, Angular 4 and MySQL for ASP.NET Core web application development.

If someone asks: β€œWhy this combination of technologies”, without getting in too much detail, the answer would be:

  • The technologies are free of charge
  • Applications can be deployed on both Windows and Linux OS
  • Production-grade performance
  • … And because we can πŸ™‚

What are we going to do in this guide?

We are going to use MySQL as our database. First, we are going to install the MySQL server, create tables and populate them with some data.

Then we are going to step into the world of .NET Core 2.0 Web API development. It is going to be our server-side part of the application. Even though this app is small, we are going to use repository pattern, generics, LINQ, entity framework core, create more projects and services to demonstrate some good practices. Overall we will try to write the application as we would in the real-time environment. You will learn about .NET Core architecture and code organization, so you can make it more readable and maintainable.

There are three approaches to using Entity Framework: Database First, Code First and Model First. In this tutorial, we are going to use Database First approach, because we want to create our database prior to typing .NET code. This approach is good when you know the structure of your database beforehand, and we get to use the visual editor which makes the creation of relationships between tables much easier.

After the server part, we are going to dive into the client-side part. You’ll see how easy it is to use Angular 4 to consume the REST API we created on the server side with Web API. You’ll also get familiar with modules, services, components and many other features of angular. We are going to create reusable services and use some third party libraries to complete the client part of the app.

In the end, we are going to publish our app on Windows and Linux OS, and finish strong by completing the whole development cycle.


List of technologies required for the entire series:


To install MySQL on your machine, follow this guide.

You can install Visual Studio 2017 by following these instuctionsΒ (In the section where you select workloads, please select ASP.NET and web development section).


  • Intermediate C# knowledge
  • Basic knowledge of Javascript
  • Familiarity with HTML and CSS

This tutorial will be separated into several parts: