¿Qué proveedores hay y su experiencia con ellos?
Me gustaría conocer todos los posibles proveedores nativos de .NET Framework Entity Framework que existen, 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, aún mejor. Dime y estaré actualizando esta publicación con esta lista.
Siéntase libre de agregar proveedores adicionales directamente en esta publicación o proporcionar una respuesta y otros (incluido yo) la agregarán a la lista.
Entity Framework 1
Microsoft SQL Server Standard / Enterprise / Express
- Entidades Linq 2: conector de Microsoft SQL Server
- Proveedores de datos DataDirect ADO.NET
Microsoft SQL Server CE (edición compacta)
- ¿Algún proveedor?
MySQL
MySQL Connector (desde la versión 6.0) - He leído acerca de los problemas cuando se utiliza
Skip()
,Take()
ySort()
en el mismo árbol de expresión - todos la bienvenida a la entrada de su experiencia / conocimiento con respecto a esto.Nota : La integración de MySQL Connector / NET Visual Studio no es compatible con las ediciones Express de Visual Studio, lo que significa que no podrá ver las bases de datos MySQL en la ventana del Explorador de bases de datos o agregar una fuente de datos MySQL a través de 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 para MySQL :
problemas similares al conector deMySqlque he leído y ambos intentan culpar a MS por ello[se supone que estos problemas deben resolverse ]
SQLite
PostgreSQL
Oráculo
- Devart dotConnect para Oracle
- Proveedor de Entity Framework de muestra para Oracle : proyecto de esfuerzo comunitario
- Proveedores de datos DataDirect ADO.NET
DB2
- IBM Data Server Provider tiene soporte EF . A continuación se muestran algunas limitaciones .
- Proveedores de datos DataDirect ADO.NET
Sybase
Informix
- IBM Data Server Provider admite Informix
Pájaro de fuego
Envoltorios de proveedores
Entity Framework 4 ( beta )
Microsoft SQL Server
- Linq to Entities 4 de Microsoft: enviado con .net 4.0 y Visual Studio 2010; hasta ahora el único proveedor para EF4
MySQL
- Conector MySQL .NET , en su mayoría funcional pero problemas pendientes con los métodos CreateDatabase y DatabaseExists (v6.3.5)
- Devart dotConnect para MySQL
SQLite
PostgreSQL
Oráculo
Servicios de análisis de Microsoft SQL Server (SSAS)
Respuestas:
DB2 funcionará, pero si desea utilizar algunas de las características .NET listas para usar que todos damos por sentado (piense en los proveedores de membresía y roles), tendrá bastante trabajo en sus manos. DB2 no funciona realmente bien con los procedimientos almacenados, por lo que también está buscando una gran cantidad de SQL en línea parametrizado.
También tuve algunos problemas de rendimiento con el proveedor de IBM. Hay otro proveedor disponible de una empresa llamada DataDirect. Parece ser más eficaz, pero le costará. Para algo como un sitio web externo, donde la velocidad es importante, el costo probablemente no será un problema.
Estoy seguro de que DB2 es un gran sistema si está construyendo en otra plataforma, pero no fue realmente diseñado para funcionar bien con .NET. A menos que ya esté casado con DB2, buscaría en otro lado.
fuente
No creo que DB2 funcione con EF 4 todavía. Si es así, alguien me corrija y me diga cómo se hace. No puedo hacer que los proveedores de DB2 aparezcan en los cuadros de diálogo Fuente de datos.
fuente
El proveedor de servidor de datos de IBM para .NET permite a Informix trabajar con EF. Ver aquí: texto del enlace
fuente
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, EDMX Designer no funciona con tablas de Informix con el prefijo "informix. *". Ver aquí: texto del enlace
fuente
Falta System.Data.SQLite para SQLite. Es de código abierto y bastante confiable según mi experiencia. Hasta donde yo sé, fue uno de los primeros proveedores de EF para bases de datos distintas de SQL Server
fuente
Los problemas de "Omitir / Tomar y ordenar" se solucionaron hace varios meses en el proveedor de Devart.
Algunas notas sobre la compatibilidad con EF4
Por el momento, proporcionamos compatibilidad con Visual Studio Beta 1 y EF4 Beta 1. Planeamos lanzar la compilación con compatibilidad con EF4 a finales de diciembre - principios de enero. No podemos llamar a nuestro soporte de Entity Framework uno ideal: este ORM fue diseñado 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 solucionar. Algunos ejemplos están disponibles aquí . El problema principal está asociado con las declaraciones 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 bases de datos heredadas, EF generalmente no es aplicable.
Tomamos en cuenta a los usuarios que no están satisfechos con el diseñador predeterminado de Microsoft y enviamos Entity Developer , una poderosa herramienta de tiempo de diseño, con nuestros productos.
fuente
EF 7 admite los siguientes proveedores de bases de datos
• Microsoft SQL Server
• SQLite
• Microsoft SQL Server Compact Edition
• Npgsql (PostgreSQL)
• Servidores de datos de IBM
• InMemory (para pruebas)
Referencia
fuente
MySQL tiene un conector para EF4 , la versión actual es 6.3.5 y sus principales funcionalidades están funcionando bien pero todavía tiene problemas con algunos métodos, por ejemplo
lo que dificulta el uso completo del enfoque del 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 el nivel de compromiso de su parte, pero ciertamente es más bajo de lo que era antes.
Dicho esto, los mismos métodos también fallan con SQL CE (no están implementados, y no creo que el equipo de MS lo aborde pronto).
fuente
Los problemas con Connector / NET en los operadores Take / Skip se han solucionado hace mucho tiempo (el proveedor EF es actualmente compatible con EF 5 y EF 4).
Entre los errores corregidos:
http://bugs.mysql.com/bug.php?id=45723
http://bugs.mysql.com/bug.php?id=72148
http://bugs.mysql.com/bug.php?id=70828
http://bugs.mysql.com/bug.php?id=69751
Gracias.
fuente