2013-04-04 111 views
6

我有一个项目使用实体框架,但我不知道我使用的EF版本。 按照Microsoft version history EF5将安装自己:我的项目使用哪个版本的实体框架?

,如果您使用的Visual Studio 2012的Entity Framework设计一种新的模式,EF5 NuGet包将被安装到您的项目,生成的代码会利用EF5。

但是我没有创建项目的EF部分,而是从版本控制(TFS)中获得它。现在我不知道如何确定我是否有EF5。

如果我右键单击项目的References文件夹并选择Manage NuGet Packages,它会显示带有卸载按钮的EF5,这意味着我有EF5。

但是,References文件夹中的system.data.entity在Properties浏览器中具有运行时版本v4.0.30319和版本4.0.0.0,这意味着EF 4(根据Determine version of Entity Framework I am using?)。

我有这在我的app.config

<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 

这在我web.config

<configSections> 
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
</configSections> 
<!--...--> 
    <dependentAssembly> 
    <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" /> 
    </dependentAssembly> 
<!--...--> 
    <entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 
    </entityFramework> 

任何人能澄清这一点?

回答

3

也许你proyect是基于在.NET 4.0中,在这种情况下,你有一个EF5版本,而.NET 4.5的特点:

EntityFramework 5 use dll version 4.4.0.instead 5.0

+0

好点,我没有想到。我检查了我的项目,但他们似乎都是.NET 4.5。 – 2013-04-05 13:03:15

0

我有System.Data.Entity的版本号相同。这来自.Net框架,而不是实体框架安装。通过右键单击参考并选择查找代码取决于模块,可以查看应用的哪些部分正在使用它。除非代码访问元数据,否则通常不会很多,主要是状态枚举和属性defn。下一个版本将带来这一切到EntityFramework.dll - 见EFv6

BTW,看着System.Data.Entity的属性的文件夹,v4.0.30319是.NETFramework \ V4.5

+0

1.由于我无法使用EF5使用的功能,因此如何查看使用模块的代码会帮助我? 2.根据[这个答案](http://stackoverflow.com/a/12539749/422877),我应该只看'EntityFramework.dll',它也显示**运行时版本v4.0.30319,但* *版本** 5.0.0.0。 – 2013-04-05 13:05:22

0

得到这样的信息,最简单的方法是安装Microsoft ASP.NET MVC Diagnostics 5.2.3

这只是产生一个网页,与所有相关信息,您的项目。例如,您可以在该页面上搜索“实体”并立即查看版本信息。

这是一个article显示此诊断工具的一种用法。

1

转到您的项目的packages.config文件。

<package id="EntityFramework" version="6.1.3" targetFramework="net45" />