In general, I don't like to keep code (BaseClasses or DataAccess Code) in the App_Code directory of an ASP.NET Site. I'll usually pull this stuff out into a MySite.BusinessLogic & MySite.DataAccess DLL's respectively.
I'm wondering should I be doing the same for ASP.NET MVC.
Would it be better to Organise the solution something along the lines of
- MySite.Common - DLL - (Basic Functionality built on .NET System Dlls)
- MySite.DAL - DLL - (DataAccessLayer & DBML Files)
- MySite.Models - DLL - (MVC Models e.g. Repository Classes)
- MySite.Controllers - DLL (MVC Controllers which use Models)
- MySite - ASP.NET MVC Site.
Or am I missing something... presumably, I'll lose some of the nice (Add View, Go To Controller, context menu items that have been added)