Im currently trying to refactor a project(asp.net mvc) that doesnt have any separation at all. just folders :s
I would suggest following a Domain Driven Design (DDD) and one suggested way of laying this out would be creating the following projects:
Company.Project.Web <-- Your MVC Application, though you can still use WebForms
Company.Project.Domain <-- Data Transfer Objects (DTO's), ViewModels, Business Logic, Events
Company.Project.Data <-- Repository Interfaces
Company.Project.Data.EF <-- EntityFramework Specific Implementation of Repositories
Company.Project.Model <-- Your EF CodeFirst Classes
Company.Common <-- A common project of utilities and/or extensions
I would suggest you take a look at Project Silk http://silk.codeplex.com/ from the patterns and practices team. Great reference implementation of DDD, Repository, and MVC as well as mixing in HTML 5 and jQuery (vNext).