I want to decouple the domain logic entirely from the persistence layer in my next project. However, I am reading conflicting reports as to the optimal approach.
Basically the gist I am getting is forget trying to implement a generic repository and classic UOW as Entity Framework 5 and above are already built on UOW and repository pattern. Doing so would complicate the application and not provide any genuine isolation from entity framework. Rather, just abstract the context away with an application layer interface and employ some solution to map domain/view models to their respective entity classes before passing them to the context for saving.
I saw some short, incomplete extracts on how to do this here and there, but I would ideally want to be able to get my hands on a simple, well made project (pref WebAPI oriented) that makes use of all the approaches discussed above. In general I don't know of any good boilerplate resource for .NET stuff, other than the projects on asp.net and they seem to be far too simplistic and not adopting the conventions you'd find in practice.
Mainly used this post as source.
It may be good to check my article: http://www.codeproject.com/Articles/768664/Introduction-to-ASP-NET-Boilerplate
ASP.NET Boilerplate is a starting point for new modern web applications using best practices and most popular tools. It's aimed to be a solid model, a general-purpose application framework and a project template.
Using ABP, you will have a good infrastructure to implement layered, domain driven design model.