I am currently designing a web app for using ASP.NET Core 5 MVC (running on .NET 5).
A specific model may be used in different parts of the application & views, since I will need to use same views in other views without code duplication, therefore I opted to use the ViewModel approach, and partial views.
I also would like to put a data access layer.
I am going to use ADO.NET with stored procedures located in my database (by getting / sending the object’s data to & from the database after some logic such as validation).
My difficulty is where to put the data access layer, can someone help me out?
Does it make sense to take out the business logic outside of the model and leave the model specifically as a class to hold its parameters / values?
I need to achieve true separation of concerns and end up with re-usable & maintainable code.
I have searched and found multiple examples, however, have not found a clear indication of using a hybrid of these two architectures and true separation of concerns.