Déterminer la version d'Entity Framework que j'utilise?

131

Je crois qu'il existe deux versions 1 et 2? Et la version 2 est appelée Entity Framework 4.0?

Comment puis-je savoir quelle version est utilisée dans une application?

Ceci est dans mon web.config est-ce que cela signifie que j'utilise la version 2?

<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
Beth
la source

Réponses:

83

Il existe deux versions: 1 et 4. EFv4 fait partie de .net 4.0 et EFv1 fait partie de .net 3.5 SP1.

Oui, le paramètre de configuration ci-dessus pointe vers EFv4 / .net 4.0.

MODIFIER Si vous ouvrez le dossier des références et recherchez system.data.entity, cliquez sur l'élément, puis vérifiez le numéro de version d'exécution dans l'explorateur de propriétés, vous verrez également la sous-version. Le mien, par exemple, montre la version d'exécution v4.0.30319 avec la propriété Version affichant 4.0.0.0. Le EntityFramework.dllpeut également être vu de cette façon. Seule la version sera 4.1.0.0 et la version d'exécution sera v4.0.30319 qui spécifie qu'il s'agit d'un composant .NET 4. Vous pouvez également ouvrir l'emplacement du fichier comme indiqué dans la propriété Chemin et cliquer avec le bouton droit sur le composant en question, choisir les propriétés, puis choisir l'onglet Détails et afficher la version du produit.

KristoferA
la source
2
Oui, mais il existe différentes versions de 4.0.
MikeKulls
Voir ma réponse ci-dessous pour l'historique des versions de Microsoft.
Marcel
1
Il existe maintenant trois versions et EFV5 est associé à .NET 4.5 et à partir de maintenant, EFv6 est en construction
Farax
4
Utilisez Get-Package (voir autre réponse). C'est plus rapide et plus précis.
Will Curran
157

Une autre façon d'obtenir la version EF que vous utilisez consiste à ouvrir la console du gestionnaire de package (PMC) dans Visual Studio et à saisir Get-Package à l'invite. La première ligne avec soit pour EntityFramework et liste la version que le projet a installée.

PM> Get-Package

Id                             Version              Description/Release Notes                                                                                                                                                                                          
--                             -------              -------------------------                                                                                                                                                                                          
EntityFramework                5.0.0                Entity Framework is Microsoft's recommended data access technology for new applications.                                                                                                                           
jQuery                         1.7.1.1              jQuery is a new kind of JavaScript Library....                                           `enter code here`

Il affiche beaucoup plus et vous devrez peut-être faire défiler vers le haut pour trouver la ligne EF, mais c'est le moyen le plus simple que je connaisse pour le savoir.

ChrisS
la source
15
Eh bien, cela suppose que vous avez installé la référence via le gestionnaire de paquets, ce qui n'est pas le cas pour beaucoup d'entre nous.
Laurent Jalbert Simard
2
@LaurentJalbertSimard Je ne l'ai pas fait explicitement, et cela apparaît toujours.
Dan
39

peut le vérifier dans le fichier packages.config.

<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.0.2" targetFramework="net40-Client" />
</packages> 
Manoj Weerasooriya
la source
11

Si vous ouvrez le dossier de références et recherchez system.data.entity, cliquez sur l'élément, puis vérifiez le numéro de version d'exécution dans l'explorateur de propriétés, vous verrez également la sous-version. Le mien, par exemple, montre v4.0.30319 avec la propriété Version affichant 4.0.0.0.

RickIsWright
la source
6

si vous utilisez EF core, cette commande ci-dessous pourrait vous aider

dotnet ef --version
Namik Hajiyev
la source
1

Si vous allez aux références, cliquez sur Entity Framework, voir les propriétés Il vous indiquera le numéro de version.

Démodave
la source
1
   internal static string GetEntityFrameworkVersion()
    {
        var version = "";
        var assemblies = System.AppDomain.CurrentDomain.GetAssemblies().Select(x => x.FullName).ToList();
        foreach(var asm in assemblies)
        {
            var fragments = asm.Split(new char[] { ',', '{', '}' }, StringSplitOptions.RemoveEmptyEntries).Select(x=> x.Trim()).ToList();
            if(string.Compare(fragments[0], EntityFramework, true)==0)
            {
                var subfragments = fragments[1].Split(new char[] { '='}, StringSplitOptions.RemoveEmptyEntries);
                version =subfragments[1];
                break;
            }
        }
        return version;
    }
Fellow simple
la source
1

Dans l'Explorateur de solutions, sous Projet, cliquez sur Dépendances-> NuGet-> Microsoft.NetCore.All-> Ici, la liste de tous les pakcages Microsoft .NetCore apparaîtra. La recherche de Microsoft.EntityFrameworkCore (2.0.3) dans la version de support peut être vue comme ceci

Après avoir trouvé le paquet

Anzar Narmawala
la source