将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:在MVCTest.Web中修改Global.asax
protected void Application_Start() { MyRoutesTable.RegisterRoutes(RouteTable.Routes); }
参考资料:
EF CodeFirst 生成实体类 http://www.cnblogs.com/jiajinyi/archive/2013/09/02/3295799.html
项目分离:http://blog.csdn.net/cmalaya/article/details/8215256
http://blog.csdn.net/jk007/article/details/8072680
routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}/{id}", // 带有参数的 URL
new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // 参数默认值
new string[] { "RenControllers.Controllers" }//命名空间
);
"Default", // 路由名称
"{controller}/{action}/{id}", // 带有参数的 URL
new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // 参数默认值
new string[] { "RenControllers.Controllers" }//命名空间
);
分类: MVC