Interacting with Data in C# – Entity Framework Core
As we mentioned in Chapter 7, Understanding the Different Domains in Software Solutions, software systems are organized into layers that communicate with each other through interfaces and classes that don’t depend on how the peculiarities of each layer are implemented. When the software is a business/enterprise system, it usually contains at least three layers: the data layer, the business layer, and the presentation layer, if the software is based on a classical layer architecture (see the Classic layers architecture section of Chapter 7.
If, instead, the application is based on an onion architecture, an outermost layer contains presentation logic, drivers, and testing logic, then there is an application layer, and finally, a domain layer (see the Onion architecture section of Chapter 7). While, in the onion architecture, layers are defined in a slightly different way, the functionalities of the three layers of...