MVC & Entity Framework(2)- controller、Models单独DLL

继上一篇MVC & Entity Framework(1)- 开发环境之后,已经很久没更新了。接下来记录一下怎么把MVC中的controller单独拆为一个类库,然后在web项目中引用。另外,顺便尝试把Models中的实体类也拆为一个单独的类库。

1、Controller类库项目

①添加一个普通的类库(.Net Framework4.5)

②在PM控制台输入以下命令Nuget命令安装MVC的引用——这里直接在项目的“引用”那里右键“添加引用”,效果是一样的。

 这里指定版本号4.0.20710.0,主要是为了与新建MVC 4 Web项目时自动引用的类库版本一致。可在Web项目的packages.config中查看得到。

 Install-package Microsoft.AspNet.Mvc -Version 4.0.20710.0

 

③在上面的类库中添加一个Controllers文件夹,然后在此文件夹添加类,命名规范为xxxController。类继承Controller,其它的写法并无二异。

 

④在Web中添加该类库项目的引用,并修改RouteConfig增加namespaces参数,以修改注册路由指定Controller的命名空间。

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

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Stock", action = "Index", id = UrlParameter.Optional },
                namespaces: new string[] { "Ivan.ControllerService.Controllers" }
            );
        }
    }

 

 2、Models类库项目

新建一个类库项目,然后添加两个文件夹:Models和ViewModels。前者与数据库中的表相对应,后者主要是由Models组合而成,方便UI层面与数据逻辑层的交互处理。

考虑到使用Entity Framework,输入以下PM命令。

 install-package EntityFramework -version 5.0

完成后,可看到项目的引用多了两个dll,如下:

 

至此,就可以像上一篇中提到的那样,正常创建DataContext了

posted @ 2015-09-17 01:00  One Ivan  阅读(853)  评论(0编辑  收藏  举报