VS2010安装EntityFramework5.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下使用才导致如此费劲?此问题有待朋友告知,或随日后学习和了解的深入而得到答案。

你可能感兴趣的:(framework)