tl;dr...In a good design. Should accessing the database be handled in a separate business logic layer (in an asp.net MVC model), or is it OK to pass ...IQueryable...s or ...DbContext... objects to a controller? ...Why? What are the pros and cons of each?....