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

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

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

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

④在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,如下:

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

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

上一篇:调用FileSystemObject.CopyFile发生没有权限的错误


下一篇:ORA-39127: 调用 "WMSYS"."LT_EXPORT_PKG"."SCHEMA_INFO_EXP" 时发生意外错误