Lol I've had one of those weeks myself for sure. ;)
I've had the same kind of internal discussions over how to structure MVC projects, and my conclusion is find what's most comfortable to you.
What I usually do is create the following projects:
- Core/Domain - here I have my entities/domain model, and any other thing that may be shared among layers: interfaces, for example, configuration, settings, and so on.
- Data/EF - here I have all my EF-dependent code: DataContext and Mappings (EntityTypeConfiguration). Ideally I could create another version of this using, say NHibernate and MySQL, and the rest of the solution will stay the same.
- Service - this depends on Core and Data. I agree in the beginning it will look like a simple facade to your Data, but as soon as you start adding features, you'll find this is the place to add your "servicemodels". I'm not saying ViewModel as this is quite Web-ui related. What i mean with "ServiceModel" is creating a simpler version of your domain objects. Real example: hide your CreatedOn, CreatedBy properties, for example. Also, whenever one of your controller's actions grow to anything over quite simplistic, you should refactor and move that logic to the service and return to the controller what you really need.
- Web/UI This will be your webApp. It will depend on Core and Service.
You didn't mention dependency injection but you have to definitely look at it.
For testing, you can test your Data using a SqlCompact provider that re-creates the database for each test instead of using a full SqlExpress. This means your DataContext should accept a connectionString parameter. ;)
I've learned a lot seeing big projects source code, like http://www.nopcommerce.com. You could also have a look at http://sharparchitecture.net/ although I bet you already saw that.
Be prepared to have some nightmares with complex object graphs in EntityFramework. ;)
My final advice is: find something specific to do and dive in. Too much abstraction will keep you from starting, and starting is key to practice and understanding.