In this chapter, you learned a great deal about integrating the ASP.NET Core applications with databases using ORMs, such as EF 6.x, Dapper, and EF Core. With many options to use database providers, it certainly gives great flexibility.
Without using ORMs, we can still use classic ADO.NET to communicate with the database.
In the next chapter, our focus will be to handle errors and exceptions, gracefully inform clients about it, and design tracing and logging mechanisms.