最近这一两年MVC.net逐渐发展,越来越走向成熟,逐渐被许多.net WEB开发程序员所接受。当发展到MVC3.0的时候,已经相当完善了,如今MVC4.0 Beta版已经出来了。
MVC3.0-EF是WEB开发中最为常见的模式。ADO.NET EntityFramerwork使用通常有三种方式:
DataBase First,Model First,Code First。
通常前面两种比较简单,能快速生成类似数据源的控件使用,ADO.NET EntityFramerwork使用会生成edmx的文件,而且是可视的,一般是小型项目的最爱,但不使用于大型的WEB开发项目。原因有:如果在开发的过程中发现需要修改数据库字段,edmx文件需要刷新,有的时候可能还会刷新不了,要删除重新创建。而且这种控件的使用,程序会觉得臃肿。
CodeFirst方式可摆脱数据库的束缚,可自定义中间属性,有较大的灵活性,更利于大型项目的开发。下面介绍一下Code First的安装,和安装时经常出现的问题,和大家一起分享。
ADO.NET EntityFramerwork的安装,可在Microsoft msdn官网下载,g谷歌一下下载.EXE文件进行安装就行。安装完成后在引用程序集里会有System.Data.Entity的引用集,说明你已经安装成功了。新建一根MVC3.0的应用程序,创建一个类引用Dbcontext,如图:


我们会发现基类Dbcontext类下面有浪线,这是因为我们没有引用EntityFramerwork.dll类,但我们在引用程序集里是没有这个类的。
所以我比较支持使用NuGet来完成EF的安装。什么是NuGet呢?
Nuget是微软的一种用来进行扩展的一种工具,是免费的。它的使用一个Nuget的管理器,输入扩展地址进行扩展。如图:


还有就是通过VS2010进行安装,使用PM来完成EF,CodeFirst的安装(如果你是VS2010旗舰版的,PM是最好的方式),可参照这个哥们的http://www.cnblogs.com/ASPNET2008/archive/2011/12/13/2286244.html
在使用PM就行安装的时候我们通常会出现下面的错误。(一出现这种情况,我们第一感觉就是谷歌一下,找到这样的问题,可惜论坛上没人回答,这是我们会失望到极点。)如图:
这种情况往往是因为你的电脑访问网站的证书出了问题,你赋值NuGet下载EF远程网址输入到IE浏览器中,你会发现会弹出一个“安全警告”,就是这个警告让你在PM时无法直接与相应的网站就行远程访问和数据下载。如图:

http://go.microsoft.com/fwlink/?LinkID=230447

这种错误谷歌一下,其实是有解决方案的。首现你应该检查一下证书的日期有没有过期。其具体方案,可参考这哥们的方案:http://jeffyyko.blog.51cto.com/28563/142280/,在该方案中我比较赞同第二种方案,这方案也是最简单的。

但在启用“证书”插件的时候,也经常会遇到一点小麻烦,但千万不要因为繁琐,就放弃了尝试,因为你离成功已经不远了。在添加插件的时候,操作系统会停止IIS服务,重新安装IIS服务,有个别系统可能在安装的时候,发现缺少文件。这是你可找一张当前机器的系统盘,或者直接下载一个镜像文件,如果是X86系统通常缺少的文件就在I386里。当“证书服务”安装好后,打开浏览器,输入刚才的网址,你会发现警告窗口消失了。这说明你成功了。

然后打开VS2010的一个MVC3.0的项目使用PM可完成EF,CodeFirst的安装。

PM> get-package -remote -filter entityframework

PM> install-package -id EntityFramework

You are downloading EntityFramework from Microsoft, the license agreement to which is available at http://go.microsoft.com/fwlink/?LinkId=242868. Check the package for additional dependencies, which may come with their own license agreement(s). Your use of the package and dependencies constitutes your acceptance of their license agreements. If you do not accept the license agreement(s), then delete the relevant components from your device.
Successfully installed 'EntityFramework 4.3.1'.
Successfully added 'EntityFramework 4.3.1' to MvcBOOK.

 

你会发现Dbcontext上的浪线消失了,你可以进行MVC3.0-EF-CodeFirst的学习了。

posted on 2012-04-27 11:17  Alvin_jstu  阅读(387)  评论(0编辑  收藏  举报