将MVC中的Controllers、Model和View分别放到单独的项目中

Model: 新建-项目-Windows-类库 MVCTest.Model

Controller:新建-项目-Windows-控制台应用程序 MVCTest.Bussiness

Views:新建-项目-Web-Asp.Net MVC4 -默认- MVCTest.Web

在解决方案中安装EntifyFrameWork(三个解决方案中均安装)。

如三层一样,MVCTest.Bussiness引用MVCTest.Model

MVCTest.Web引用MVCTest.Bussiness与MVCTest.Model

Model生成:右键MVCTest.Model-EntityFramework-ReVerse Engineer Code First。配置好后,实体类就生成成功了。

Controller:在MVCTest.Bussiness 中添加Setup/MyRoutesTable.cs

代码如下:

public static class MyRoutesTable
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            //default   routes
            routes.MapRoute(
                "Default",
                "{controller}/{action}/{id}",
                new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
    }
View Code

View:在MVCTest.Web中修改Global.asax

protected void Application_Start()
        {
            MyRoutesTable.RegisterRoutes(RouteTable.Routes);
        }
View Code

参考资料:

EF CodeFirst 生成实体类 http://www.cnblogs.com/jiajinyi/archive/2013/09/02/3295799.html

项目分离:http://blog.csdn.net/cmalaya/article/details/8215256

原文地址:https://www.cnblogs.com/Jokers/p/4270325.html