2011-07-23 30 views
49

¿Es posible que Entity Framework sea compatible con la base de datos MongoDb? ¿Tal vez alguien escriba un proveedor EF MongoDb?Entity Framework y MongoDb

+0

¿Alguna respuesta aceptada ?! –

Respuesta

47

Respuesta breve: no, es seguro, pero no es razonable.

MongoDB es una base de datos de documentos y no admite ninguna relación física entre colecciones. EF es una buena opción para bases de datos relacionales como SQL, MySQL, etc. MongoDB funciona más rápido con documentos incrustados. Entonces solo son dos enfoques diferentes.

31

Eche un vistazo a la última versión de la Biblioteca MongoDB C# ... ¡es compatible con LINQ!

http://www.mongodb.org/display/DOCS/CSharp+Driver+LINQ+Tutorial

+2

compatible con Linq ¿eso significa que también es compatible con EF? – mehul9595

+6

@ mehul9595 Esa es una buena pregunta, y no, no significa eso, por lo que esta respuesta realmente no es una respuesta a la pregunta que se hace en absoluto. – hvd

+2

Este enlace está muerto. – gunr2171

7

Soy un gran fan de marco de la entidad, por lo que la primera vez que probé mongodb He creado una biblioteca llamada "MongoDB.Dynamic" que tiene un enfoque junto al Código EF Primera. MongoDB no tiene relaciones entre colecciones físicamente, pero puedes simularlo. MongoDB.Dynamic tiene una característica conocida como Cargando con ganas que puede configurar relaciones entre colecciones y cargar documentos relacionados automáticamente si una entidad tiene la estructura convenida. Se puede tratar de leer algo de documentación en MongoDB.Dynamic

+0

Enlace actualizado: http://mongodbdynamic.codeplex.com/ – jocull

+0

@jocull thanxs. Enlace actualizado –

0

No sugiero utilizar la versión anterior del proveedor de MongoDb que utiliza LINQ. El mejor y estable controlador C# MongoDb es el controlador oficial MongoDb 2.0 para C# que utiliza la mecánica de constructores.

El controlador heredado LINQ tiene muchas limitaciones con el mecanismo de inserción masivo incómodo y lento.

+0

Hola DotNetGoose: tu respuesta parece útil, pero un poco confusa; ¿podría agregar algunos enlaces para respaldar lo que dice, por ejemplo, a la documentación oficial del controlador MongoDB para C? –

+0

@VinceBowdren Hola, hice esa conclusión basándome en mi propia experiencia de trabajo con el viejo y nuevo controlador MongoDb. No recuerdo los detalles, fue hace un año, pero el viejo conductor tiene un rendimiento más lento, una mecánica muy incómoda de las operaciones a granel y algunos errores y un comportamiento no evidente. –