继上一篇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了

MVC & Entity Framework(2)- controller、Models单独DLL的更多相关文章

  1. 使用ASP.NET MVC+Entity Framework快速搭建系统

    详细资料: http://www.cnblogs.com/dingfangbo/p/5771741.html 学习 ASP.NET MVC 也有一段时间了,打算弄个小程序练练手,做为学习过程中的记录和 ...

  2. ASP.NET MVC - Entity Framework

    ASP.NET MVC - Entity Framework 实体关系 关系是某个实体(表)的一条记录对应于另一个实体(表)的一条或多条记录. 一对多关系 单方面的包含关系称为一对多,而一对多和一对一 ...

  3. ASP.NET MVC+Entity Framework 4.1访问数据库

    Entity Framework 4.1支持代码优先(code first)编程模式:即可以先创建模型类,然后通过配置在EF4.1下动态生成数据库. 下面演示两种情形: 1.代码优先模式下,asp.n ...

  4. MVC & Entity Framework(1)- 开发环境

    一直都有接触asp.net mvc,希望自己借此次机会把Blog搭起来的同时能够更深入地学习相关知识. ①新建 打开VS2012,新建ASP.Net MVC 4项目,接着选择“空”模板(因为不想用自带 ...

  5. Asp.net Mvc Entity Framework Code First 数据库迁移

    1.创建Mvc项目 2.安装Entity Framework 2.1.如下图打开程序包管理器控制台: 2.2.输入命令Install-Package EntityFramework,即可安装Entit ...

  6. ASP.NET MVC+Entity Framework 访问数据库

    Entity Framework 4.1支持代码优先(code first)编程模式:即可以先创建模型类,然后通过配置在EF4.1下动态生成数据库. 下面演示两种情形: 1.代码优先模式下,asp.n ...

  7. mvc+entity framework database first,生成的model每次更新一个表会更新所有的model

    在使用Entity Framework 的Database frist或model first时,直接加attribute到modle类上是太现实也不合理的,因为model类是自动生成的,重新生成后会 ...

  8. DDD, MVC & Entity Framework

    https://digitalpolis.co.uk/software-thoughts/ddd-mvc-entity-framework/ Data Points - Coding for Doma ...

  9. 使用ASP.NET MVC+Entity Framework快速搭建博客系统

    学习 ASP.NET MVC 也有一段时间了,打算弄个小程序练练手,做为学习过程中的记录和分享. 首先,得确定需求,木有需求的话,那还搞个毛线呀!嗯……大致思考了一下,终于得出如下需求: 1.能自定义 ...

随机推荐

  1. Android学习进阶路线导航线路(Android源码分享)

                                                                                                       转 ...

  2. git 命令02

    1.怎么添加远程库2.克隆一个远程库3.什么是分支管理4.什么是标签管理3.搭建git服务器 1.添加远程库.我以github官网上提供给用户注册https://github.com/,可以在官网了自 ...

  3. 通用Json的处理办法

    1.Json的格式: 对象{"name": "value", "name1": "value1"} 对象包含对象数组{& ...

  4. nginx最大并发连接数的思考:worker_processes、worker_connections、worker_rlimit_nofile

    参考nginx官网:http://nginx.org/en/docs/ngx_core_module.html#worker_connections 从用户的角度,http 1.1协议下,由于浏览器默 ...

  5. python微信公众号开发学习记录

    网上有很多微信公众号的开发教程,但是都是好几年前的了,而且很多都是抄袭其他人的,内容几乎一模一样.真的无语了.只好自己总结一下开发的一些简单流程. 一先去注册个微信公众号,这个就不详细说了, 二登录后 ...

  6. .NET/MVC-ViewBag、ViewData、TempData区别

    1.ViewData ViewData的生命周期和View相同, 只对当前View有效. 2.TempData TempData保存在Session中, Controller每次执行请求的时候会从Se ...

  7. cglib Demo

    转载自:http://huihai.iteye.com/blog/858524 http://www.cnblogs.com/shijiaqi1066/p/3429691.html

  8. android 步骤控件的使用

    有的时候我们做Android开发会用到表示步骤的需求.这时候github给我们提供了一个非常好地表示步骤的组件,使用她仅仅须要4步就能够完毕了. 项目地址https://github.com/anto ...

  9. 电子商务ICP经营许可证申请条件

    电子商务ICP经营许可证申请条件:注册资金100万的纯内资公司:服务器在本地:域名备案以公司名义备案:申请条件:1.公司营业执照副本复印件需清晰有效,并已完成该年度年检事宜,特别注意营业执照的有效期要 ...

  10. ASPCMS不能上传2M以上大文件修改!

    \admin_aspcms\editor\upload.asp修改80行左右maxattachsize=xxxxxxxx'最大上传大小,默认是2M前提是IIS上传大小已修 其他有关IIS方面的修改: ...