22

Estoy intentando utilizar la función ADO.Net Codefirst de la última versión de Entity Framework 4.0. Como parte de eso, he instalado Entity Framework CTP 4 de Microsft y usando Scott's tutorial para crear primero el modelo. Dentro del tutorial se especifica DBContext y DBSet<>. Podrían algunos decir cuál es la referencia que se utilizará para acceder a esta clase.Referencias para DBContext, DBSet <> en Entity Framework

he utilizado las siguientes referencias sin embargo nada sucede por DBContext y DBSet<>

  • System.Data.Entity
  • System.Data.Entity.Design

Respuesta

14

Use CTP5 en su lugar es una versión más reciente con algunos cambios en la API. Debe agregar una referencia a EntityFramework.dll que está instalado en el directorio CTP; el valor predeterminado es: c: \ Archivos de programa \ Microsoft ADO.NET Entity Framework Feature CTP5 \ Binaries \ EntityFramework.dll para el sistema de 32 bits. En el sistema de 64 bits, se colocará en Archivos de programa (x86).

+0

¿Podría decirme si es compatible con la versión .Net de 64 bits? – Elangesh

+0

Ya es compatible con la versión de 64 bits. –

+2

ya no. Ahora solo usaría nuget Install-Module entityframework –

1

La entrada de blog menciona la asamblea:

The DbContext and DbSet classes used above are provided as part of the EF4 Code-First library. You’ll need to add a reference to the System.Data.Entity.CTP assembly that is installed into the \Program Files\Microsoft ADO.NET Entity Framework Feature CTP4\Binaries directory to reference these classes. You’ll also want to add a “using System.Data.Entity” namespace statement at the top of your “NerdDinners” class file.

Sin embargo, I Creo que el nuevo CTP5 incluye algunos cambios en Codefirst, por lo que le sugiero que eche un vistazo a este.

+0

¿Podría decirme si será compatible con la versión .Net de 64 bits? – Elangesh

+0

No estoy seguro si hay ensamblados de 64 bits en el CTP. De lo contrario, su proyecto deberá dirigirse a x86. –

+0

@Elan: está diseñado para cualquier CPU, por lo que está bien :-) –

4

Utilice "DbContext" frente a "DBContext", y "DbSet" frente a "DBSet". La sensibilidad del caso es el problema.

+1

Thomas, acabo de especificar el código, no copiar y pegar esto. Usé la caja correcta en mi código, ya que fue copiada del tutorial original. Sin embargo, gracias por informarme que las palabras clave están en un caso incorrecto. Aclamaciones. – Elangesh

+0

eso es ... Cometí el error. –

26

Puede usar el Administrador de paquetes de biblioteca si lo tiene (se instala automáticamente con MVC 3.0).

Desde dentro de su proyecto en Visual Studio 2010, vaya a

Tools > Library Package Manager > Package Manager Console 

Desde dentro de su proyecto en Visual Studio 2013, ir a

Tools > NuGet Package Manager > Package Manager Console 

En la consola, después de la PM>, escriba

install-package entityframework 

Esto instalará el paquete y agregará el EntityFr una referencia amework a su proyecto.

+0

Install-Package: no se puede encontrar el paquete 'entityframework' en la línea: 1 char: 1 ... ¿alguna idea de por qué? – brntsllvn

+0

Al mirar el administrador de paquetes NuGet-Solution, puedo ver que tengo EntityFramework instalado (v6.0.2) ... pero aún no se pudo encontrar DbContext. Cualquier ayuda sería genial. – brntsllvn

0

si está utilizando .NET 3.5 a continuación, cambiar su marco de destino para .NET 4.0

+0

Gracias, de hecho, @Arek Bee. He usado .Net 4.0, pero de alguna manera la referencia no está ahí para Entity por algún motivo. Más tarde después de instalar el CTP5 todo estaba bien – Elangesh

2

Para añadir EF para su proyecto de utilizar la consola de Administrador de paquetes y ejecute el comando:

Install-Package EntityFramework 

No deberías t Enlace directo a la ubicación instalada de las DLL como se menciona en otra respuesta.

+1

Funcionó como el encanto, Gracias – Sandy

1

Estaba siguiendo el Tutorial de MvcMusicStore (utilizando Mvc 4 en lugar de Mvc 3).

Encontré en la Parte 4 que estaba teniendo problemas con esto (http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-4).

Cuando agregué la siguiente referencia usando System.Data.Entidad;, tengo el siguiente error:

el tipo o el nombre de espacio de nombres 'entidad' no existe en el espacio de nombres 'system.data'

@ solución de Fecklmore trabajó para mí.

Abra la consola del Administrador de paquetes yendo a Herramientas> Administrador de paquetes de biblioteca> Consola de administrador de paquetes.

A continuación, escriba lo siguiente: Instalar Paquete ADO.NET Entity Framework

Esto instalará ADO.NET Entity Framework (es decir EF) en su proyecto, y eliminará el error anterior.

Cuestiones relacionadas