15

Tengo que desarrollar una aplicación de escritorio para Windows en C# .Net 4.0 que se ejecutará en tres bases de datos diferentes, es decir. MS Access 2007 en adelante, Oracle 11G y SQL Server 2008. Ahora quiero usar Entity Framework en mi aplicación. ¿Es esta la mejor opción para usar EF para mi aplicación? En caso afirmativo, ¿cómo puedo usar el marco de entidad para la base de datos de Access? Gracias de antemano.Cómo utilizar Entity Framework para la base de datos de MS Access

Respuesta

8

Ver this answer. Pregúntese por qué necesita Access, ¿podría usar SQL Express en su lugar? Si necesitas acceso de forma absoluta, parece que EF no es la elección correcta en este caso.

Poniendo el acceso a un lado por el momento, es perfectamente posible cambiar los proveedores de datos con EF (especialmente con código primero) ya que EF abstrae una gran cantidad de la base de datos lejos de su código; Dependiendo del diseño de la base de datos, podría ser tan simple como cambiar dinámicamente la cadena de conexión. Las implicaciones prácticas de esto realmente dependen del diseño de su base de datos y de la naturaleza y complejidad de la aplicación que está creando. Ver this pregunta por ejemplo, aquí está another ejemplo.

+0

Entonces, ¿qué debería ser aconsejable para el escenario anterior? El uso de la base de datos de Access es obligatorio. –

+0

Si el acceso es obligatorio, entonces no creo que EF sea la opción correcta ... – Simon

+1

Entonces, ¿cuál es la solución correcta para el escenario anterior? Cualquier sugerencia será apreciada. –

11

Puede usar el EF con Microsoft Access utilizando un proveedor de Entity Framework para Microsoft Access. puede encontrar un proveedor de EF para el Acceso https://jetentityframeworkprovider.codeplex.com/

+1

Hola - Seguí las instrucciones para db primero, pero cuando defino el marco de entidades ADO -no recibo ninguna opción de proveedor de datos que no sea SQL servidor para la conexión. He cambiado la configuración de la máquina (estoy ejecutando en 64 bits) – user1286399

+0

Para utilizar DBFirst necesita compilar desde el código fuente (durante la compilación, el proveedor está registrado en Visual Studio 2013). ¿Podrías abrir una pregunta específica sobre esto por favor? – bubi

+1

Codeplex se está cerrando, por lo que si Codeplex no existe, vaya a [bubibubi/JetEntityFrameworkProvider] (https://github.com/bubibubi/JetEntityFrameworkProvider) o busque NuGet para JetEntityFrameworkProvider. – user34660

5

Utilizamos Dapper como nuestro ORM con los repositorios cuando se trabaja con MS Access. Es fantástico.

Cuestiones relacionadas