Determinar la versión de Entity Framework que estoy usando?

131

Creo que hay dos versiones 1 y 2? ¿Y la versión 2 se conoce como Entity Framework 4.0?

¿Cómo puedo saber qué versión se está utilizando en una aplicación?

Esto está en mi web.config ¿significa que estoy usando la versión 2?

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

Respuestas:

83

Hay dos versiones: 1 y 4. EFv4 es parte de .net 4.0 y EFv1 es parte de .net 3.5 SP1.

Sí, la configuración de arriba apunta a EFv4 / .net 4.0.

EDITAR Si abre la carpeta de referencias y la ubica system.data.entity, haga clic en el elemento, luego verifique el número de versión de tiempo de ejecución en el explorador de Propiedades, también verá la sub versión. El mío, por ejemplo, muestra la versión de tiempo de ejecución v4.0.30319 con la propiedad Versión que muestra 4.0.0.0. El EntityFramework.dllse puede ver de esta manera también. Solo la versión será 4.1.0.0 y la versión Runtime será v4.0.30319, que especifica que es un componente .NET 4. Alternativamente, puede abrir la ubicación del archivo como se muestra en la propiedad Ruta y hacer clic con el botón derecho en el componente en cuestión, elegir propiedades, luego elegir la pestaña de detalles y ver la versión del producto.

KristoferA
fuente
2
Sí, pero hay diferentes versiones de 4.0.
MikeKulls
Vea mi respuesta a continuación para ver el historial de versiones de Microsoft.
Marcel
1
Ahora hay tres versiones y EFV5 está asociado con .NET 4.5 y, a partir de ahora, EFv6 está en construcción
Farax,
44
Use Get-Package (vea otra respuesta). Es más rápido y más preciso.
Will Curran
157

Otra forma de obtener la versión EF que está utilizando es abrir Package Manager Console (PMC) en Visual Studio y escribir Get-Package en el indicador. La primera línea será para EntityFramework y enumere la versión que el proyecto ha instalado.

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`

Muestra mucho más y es posible que tenga que desplazarse hacia arriba para encontrar la línea EF, pero esta es la forma más fácil que conozco para averiguarlo.

ChrisS
fuente
15
Bueno, esto supone que instaló la referencia a través del administrador de paquetes, que no es el caso para muchos de nosotros.
Laurent Jalbert Simard
2
@LaurentJalbertSimard No lo hice explícitamente, y todavía aparece.
Dan
39

puede verificarlo en el paquete package.config.

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

Si abre la carpeta de referencias y localiza system.data.entity, haga clic en el elemento, luego verifique el número de versión de tiempo de ejecución en el explorador de Propiedades, también verá la sub versión. El mío, por ejemplo, muestra v4.0.30319 con la propiedad Versión que muestra 4.0.0.0.

RickIsWright
fuente
6

si está utilizando EF core, este comando a continuación podría ayudar

dotnet ef --version
Namik Hajiyev
fuente
1

Si va a referencias, haga clic en Entity Framework, vea las propiedades. Le indicará el número de versión.

Demodave
fuente
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;
    }
Compañero simple
fuente
1

En el Explorador de soluciones en Proyecto, haga clic en Dependencias-> NuGet-> Microsoft.NetCore.All-> Aquí aparecerá la lista de todos los paquetes de Microsoft .NetCore. La búsqueda de Microsoft.EntityFrameworkCore (2.0.3) en la versión de soporte se puede ver así

Después de encontrar el paquete

Anzar Narmawala
fuente