原文http://www.cnblogs.com/seawaving/archive/2012/11/28/2793221.html
EntityFramework学习笔记3-VS2010安装EF5.0
EntityFramework 当前最新版本是6.0,2012年10月份发布,不过是alpha1版本,稳定版本是8月份发布的5.0版本,对于初学者来说,还是别在测试版上折腾了,先学习稳定的5.0版本,少一些bug,少一些困扰。
EntityFramework位于System.Data.Entry命名空间,在安装了NET framwork4.0和vs2010的情况下,默认是4.0版本。
如何在vs2010上安装EntityFramework5.0?
首先,需要安装一个vs插件,名称为NuGet Package Manager,微软官方发布的,其作用就是为vs工程项目自动下载、安装、升级、配置和移除包。
操作步骤:打开vs2012,然后工具-》扩展管理器,搜索NuGet,找到安装即可。
注意:此插件需要PowerShell 2.0,win7和server2008已自带,如果你还在用xp,那么需要先下载安装此前置系统组件
http://support.microsoft.com/kb/968929 说明很长,下载在下方,请查找对应自己操作系统的组件。
其次,使用上面安装的插件安装EntityFramework5.0
步骤:重启vs,然后工具-》库程序包管理器-》程序包管理器控制台,打开控制台
【
程序包管理器控制台主机版本 2.1.31002.9028
键入“get-help NuGet”以查看所有可用的 NuGet 命令。
PM>
】
在PM>输入 Install-Package EntityFramework,然后会得到出错提示
【
PM> Install-Package EntityFramework
Install-Package : 当前环境未打开任何解决方案。
所在位置 行:1 字符: 16
】
也即,需要在一个工程项目中使用此方式,新建一个c#控制台应用程序,命名为EFDemo,再执行如上操作,会在线下载最新稳定版本即5.0并安装,成功则结果如下:
【
PM> Install-Package EntityFramework
已成功安装“EntityFramework 5.0.0”。
已成功将“EntityFramework 5.0.0”添加到 EFDemo。
Type 'get-help EntityFramework' to see all available Entity Framework commands.
】
安装后的变化
上述操作执行完毕后,会发现项目变化
1.新增了一个packages.config文件
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="5.0.0" targetFramework="net40-Client" />
</packages>
2.app.config文件中根节点中新增了一行配置(从配置文件来看,所说的5.0,实际内部版本号是4.4)
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
3.项目引用下新增了一个EntityFramework,指向c:\*****\EFStudy\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll(EFStudy为解决方案名称)
4.该项目所在的解决方案下增加了名为“packages”的目录,里面存放包括dll在内的与ef5.0相关的文件。
按照如上步骤,可以在vs2010上安装EF5.0。
后记
个人感觉,微软一向推崇图形化界面操作,此处要为一个项目使用EF5.0如此费力,实在是费解,莫非是EF5.0在vs2012+net framework4.5适配,而我在vs2010+netnet framework4.0下使用才导致如此费劲?此问题有待朋友告知,或随日后学习和了解的深入而得到答案。
附录:历史版本
Version | Downloads | Last updated |
---|---|---|
EntityFramework 6.0.0-alpha1 | 3646 | Thursday, October 25, 2012 |
EntityFramework 5.0.0 | 171798 | Saturday, August 11, 2012 |
EntityFramework 5.0.0-rc | 34133 | Tuesday, May 15, 2012 |
EntityFramework 5.0.0-beta2 | 10097 | Thursday, March 22, 2012 |
EntityFramework 5.0.0-beta1 | 2122 | Wednesday, February 29, 2012 |
EntityFramework 4.3.1 | 216635 | Wednesday, February 29, 2012 |
EntityFramework 4.3.0 | 35215 | Thursday, February 09, 2012 |
EntityFramework 4.3.0-beta1 | 2137 | Friday, January 13, 2012 |
EntityFramework 4.2.0.0 | 132698 | Tuesday, November 01, 2011 |
EntityFramework 4.1.10715.0 | 212475 | Monday, July 25, 2011 |
EntityFramework 4.1.10331.0 | 113252 | Tuesday, April 12, 2011 |
EntityFramework 4.1.10311.0 | 18203 | Tuesday, March 15, 2011 |