6

Ich habe ein Projekt mit Entity Framework, aber ich bin nicht sicher, welche Version von EF ich verwende. Nach dem Microsoft version history EF5 werde selbst installieren:Welche Version von Entity Framework wird von meinem Projekt verwendet?

Wenn Sie ein neues Modell mit dem Entity Framework Designer in Visual Studio 2012, das EF5 NuGet Paket zu einem Projekt und der generierte Code installiert werden schaffen nutzen EF5.

Allerdings habe ich nicht den EF-Teil des Projekts erstellt, sondern habe es aus der Versionskontrolle (TFS). Jetzt bin ich mir nicht sicher, wie ich feststellen kann, ob ich EF5 habe.

Wenn ich mit der rechten Maustaste auf den Ordner "References" des Projekts klicke und "NuGet-Pakete verwalten" anwähle, wird EF5 mit einem Uninstall-Button angezeigt, was bedeutet, dass ich EF5 habe.

Aber die System.Data.Entity im Ordner Verweis haben eine Laufzeitversion v4.0.30319 und Version 4.0.0.0 im Explorer Eigenschaften, die EF 4 (nach Determine version of Entity Framework I am using?) bedeuten würde.

ich dies tun habe in meinem app.config:

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

Und dies in meinem 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> 

dies jemand klären kann?

Antwort

3

Vielleicht ist Ihr proyect in .NET 4.0, in diesem Fall basiert haben Sie eine EF5 Version ohne .NET 4.5-Funktionen:

EntityFramework 5 use dll version 4.4.0.instead 5.0

+0

Guter Punkt, an den ich nicht gedacht hatte. Ich habe meine Projekte überprüft, aber alle scheinen .NET 4.5 zu sein. –

0

Ich habe die gleiche Versionsnummer auf System.Data.Entity. Dies kommt vom .NET-Framework, nicht von der Entity Framework-Installation. Sie können sehen, welche Teile Ihrer App sie verwenden, indem Sie mit der rechten Maustaste auf die Referenz klicken und auswählen. Code abhängig vom Modul suchen. Es gibt im Allgemeinen nicht viel, es sei denn, der Code greift auf Metadaten zu, meistens auf Statusaufzählungen und Attributdefinitionen. Nächste Version all dies in die EntityFramework.dll bringen wird - siehe EFv6

BTW, in dem Ordner, in Eigenschaften von System.Data.Entity sucht, ist v4.0.30319 in .NETFramework \ v4.5

+0

1. Da ich die von EF5 verwendeten Funktionen nicht verwenden kann, hilft mir der Code, der den Modulcode verwendet. 2. Nach [dieser Antwort] (http://stackoverflow.com/a/12539749/422877) sollte ich nur "EntityFramework.dll" betrachten, was auch ** Runtime Version ** v4.0.30319 zeigt, aber * * Version ** 5.0.0.0. –

0

Der einfachste Weg, diese Art von Informationen zu erhalten, ist Microsoft ASP.NET MVC Diagnostics 5.2.3

Diese Installation stellt nur eine Webseite für Ihr Projekt mit allen relevanten Informationen. Sie können beispielsweise einfach auf dieser Seite nach "Entität" suchen und sofort die Versionsinformationen anzeigen.

Hier ist ein article zeigt eine Verwendung dieses Diagnosewerkzeugs.

1

Wechseln Sie zur Datei packages.config Ihres Projekts.

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