2013-04-04 107 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" />