年前一直想写个系列教程来完整的过一下Asp.NET MVC,同时也可以帮助一些人来避免我在工作中遇到的坑,碰过的壁。缘于能力有限,时间也不充足,一直也没有能实现,幸好看到马拉Sukesh 写了个7天教程,讲的挺好,就想顺便翻译过来給各位,英文水平有限,请各位多多包涵。
。
大神,请留下宝贵的看法。
有问题或建议尽管提。
今天先简单用“代码第一”的模式基于EF5, MVC4和MVC 脚手架(脚手架→通过Nuget安装)创建一个简单的图书管理系统来热身,数据库我们就选择微软自家的SQL Server2012了:
环境如下: Win7 with sp1 and VS2012
步骤1:创建一个以Razor为引擎的互联网应用程序:
步骤2:安装EntityFramework
安装EntityFramework:
PM> Install-Package EntityFramework
安装MvcScaffolding
PM> Install-Package MvcScaffoldingAttempting to resolve dependency 'T4Scaffolding'.Attempting to resolve dependency 'T4Scaffolding.Core'.Attempting to resolve dependency 'EntityFramework'.Installing 'T4Scaffolding.Core 1.0.0'.Successfully installed 'T4Scaffolding.Core 1.0.0'.Installing 'T4Scaffolding 1.0.8'.Successfully installed 'T4Scaffolding 1.0.8'.Installing 'MvcScaffolding 1.0.9'.Successfully installed 'MvcScaffolding 1.0.9'.
既然是代码首先,那么下来自然就是要来创建模型了:
在模型的文件夹中创建三个实体类:
///, & lt; summary>///Book 实体///,& lt;/summary> public class 书 { ,,,(例子) ,,,public int ID {组,得到,,,} ,,,public string BookName {组,得到,,,} ,,,///,& lt; summary> ,,,///,One 用一个 ,,,///,& lt;/summary> ,,,public int PublisherID {组,得到,,,} ,,,(ForeignKey (“PublisherID”)] ,,,public virtual Publisher Publisher {组,得到,,,} ,,,///,& lt; summary> ,,,///,One 用很多 ,,,///,& lt;/summary> ,,,public virtual ICollection, Authors {组,得到,,,} }///,& lt; summary>///Author 实体///,& lt;/summary> public class 作者 { ,,,(例子) ,,,public int ID {组,得到,,,} ,,,public string AuthorName {组,得到,,,} ,,,public int BookID {组,得到,,,} }///,& lt; summary>///Publisher 实体///,& lt;/summary> public class 出版商 { ,,,(例子) ,,,public int ID {组,得到,,,} ,,,public string PublisherName {组,得到,,,} }
建三个实体类对应的Mvc视图——空视图就好。
然后打开包管理器控制台,运行下面的命令:
PM> Scaffold Controller 书 PM> Scaffold Controller 作者 PM>, Scaffold Controller 出版商
如果要通过库访问数据那么要在最后加上一个参数:库
像:
PM>, Scaffold Controller Book 库
如果要重新生成对应的视图和控制器那么再加一个参数:force
像:
PM>, Scaffold Controller Book -Repository force
然后你会得到的结果如下:
神奇吧,自动就帮你生成了通用部分的观点,与数据库交互的存储库, 控制器以及比较重要的FirstMouseContext,省心省力.FirstMouseContext