pomelo net framework first .net database entity-framework orm provider

.net - net - entity framework core database first



Una lista de proveedores de Entity Framework para varias bases de datos (9)

DB2 funcionará, pero si desea utilizar algunas de las características de .NET listas para usar que todos damos por sentado (piense en la membresía y los proveedores de roles), tendrá mucho trabajo en sus manos. En realidad, DB2 no funciona bien con los procedimientos almacenados, por lo que también está buscando una gran cantidad de SQL en línea parametrizados.

También tuve algunos problemas de rendimiento con el proveedor de IBM. Hay otro proveedor disponible de una compañía llamada DataDirect. Parece ser más eficiente, pero te costará. Para algo así como un sitio web externo, donde la velocidad es importante, el costo probablemente no sea un problema.

Estoy seguro de que DB2 es un gran sistema si está construyendo en otra plataforma, pero en realidad no fue diseñado para jugar bien con .NET. A menos que ya esté casado con DB2, buscaría en otro lado.

Qué proveedores están ahí y tu experiencia al usarlos

Me gustaría conocer todos los posibles proveedores nativos de .NET Framework Entity Framework que están disponibles, así como sus limitaciones en comparación con las LINQ2Entities predeterminadas (de MS para MS SQL). Si hay más para la misma base de datos, mejor. Dímelo y actualizaré esta publicación con esta lista.

Siéntase libre de agregar proveedores adicionales directamente en esta publicación o proporcionar una respuesta y otros (incluyéndome a mí) lo agregarán a la lista.

Marco de la entidad 1

Microsoft SQL Server Standard / Enterprise / Express

Microsoft SQL Server CE (Edición Compacta)

  • Cualquier proveedor?

MySQL

  • MySQL Connector (desde la versión 6.0) - He leído sobre problemas al usar Skip() , Take() y Sort() en el mismo árbol de expresiones; todos son bienvenidos para ingresar su experiencia / conocimiento con respecto a esto.

    Nota : MySQL Connector / NET Visual Studio Integration no es compatible con Express Editions de Visual Studio, lo que significa que no podrá ver las bases de datos MySQL en la ventana del explorador de bases de datos ni agregar una fuente de datos MySQL mediante los cuadros de diálogo del asistente de Visual Studio. Algunos usuarios pueden encontrar que esto limita su capacidad para usar Entity Framework y MySQL dentro de Visual Studio Express).

  • Devart dotConnect for MySQL : problemas similares al conector de MySql que he leído y ambos tratan de culpar a MS por ello [se supone que estos problemas se solved ]

SQLite

PostgreSQL

Oráculo

DB2

Sybase

Informix

Firebird

Contenedores de proveedores

Entity Framework 4 ( beta )

Microsoft SQL Server

  • Linq de Microsoft a Entities 4: enviado con .net 4.0 y Visual Studio 2010; hasta ahora el único proveedor de EF4

MySQL

SQLite

PostgreSQL

Oráculo

Microsoft SQL Server Analysis Services (SSAS)


EF 7 es compatible con los siguientes proveedores de DB

• Microsoft SQL Server

• SQLite

• Microsoft SQL Server Compact Edition

• Npgsql (PostgreSQL)

• Servidores de datos de IBM

• InMemory (para prueba)

Reference


El Proveedor de Servidor de Datos de IBM contiene algunas limitaciones que lo hacen irritante y frágil para escenarios de consulta más complejos. Además, el diseñador de EDMX no funciona con las tablas de Informix con el prefijo "informix. *". Ver aquí: texto del enlace


IBM Data Server Provider para .NET permite que Informix trabaje con EF. Ver aquí: texto del enlace



Los problemas de "Saltar / Tomar y ordenar" se arreglaron hace varios meses en el proveedor Devart.

Algunas notas sobre el soporte de EF4
Por el momento, brindamos soporte para Visual Studio Beta 1 y EF4 Beta 1. Planeamos lanzar la construcción con soporte de EF4 a fines de diciembre y principios de enero. No podemos llamar a nuestro soporte de Entity Framework el ideal: este ORM se diseñó inicialmente para MS SQL Server, por lo que la posibilidad de tener en cuenta las maravillas de otros DBMS es significativamente limitada.

Hay una serie de problemas que el que implementa un proveedor de EF simplemente no puede evitar. Algunos ejemplos están disponibles here . El problema principal está asociado con las sentencias CROSS APLY y OUTER APPLY generadas por el tiempo de ejecución de EF en algunos casos. Otros DBMS no proporcionan esta declaración, por lo que el problema surge con la traducción. También se debe tener en cuenta que, en el caso de las bases de datos heredadas, EF generalmente no es apta.

Tomamos en cuenta a los usuarios que no están satisfechos con el diseñador predeterminado de Microsoft y envían Entity Developer , una poderosa herramienta de tiempo de diseño, con nuestros productos.


MySQL tiene un conector para EF4 , la versión actual es 6.3.5 y sus funcionalidades principales funcionan bien, pero todavía tiene problemas con algunos métodos, por ejemplo

  • System.Data.Objects.ObjectContext.CreateDatabase ()
  • System.Data.Objects.ObjectContext.DatabaseExists ()

lo que hace que sea difícil utilizar por completo el enfoque de modelo primero. Es posible editando manualmente el script MySQL (disponible con el método CreateDatabaseScript). El equipo de MySQL no parece ansioso por resolver esos errores, no estoy seguro de cuál es realmente el nivel de compromiso de su parte, pero ciertamente es más bajo de lo que fue alguna vez.

Dicho eso, los mismos métodos también fallan con SQL CE (no se implementan, y no creo que el equipo de MS lo aborde pronto).


No creo que DB2 funcione con EF 4 todavía. Si lo hace, alguien por favor corrígeme y dime cómo se hace. No puedo hacer que los proveedores de DB2 aparezcan en los cuadros de diálogo Fuente de datos.


Te falta System.Data.SQLite para SQLite. Es de código abierto, y bastante confiable desde mi experiencia. Por lo que sé, fue uno de los primeros proveedores de EF para bases de datos distintas de SQL Server