studio net management manage .net linq orm azure azure-sql-database

.net - net - sql server azure connect



¿Qué ORM usar con SQL Azure? (7)

Echa un vistazo a NHibernate. Probablemente lo mejor de la línea en este momento.

De lo contrario, siempre es un buen recurso http://www.ormbattle.net/

¿Solo me pregunto qué piensan todos sobre qué ORM usar para SQL Azure?

Me siento bastante cómodo usando LINQ-to-SQL y creo que es posible hacer que funcione con SQL Azure. Sin embargo, según tengo entendido (corríjanme si me equivoco), no se realizarán más mejoras en Linq-to-SQL en futuras versiones de .NET Framework.

Alternativamente, existe el marco de entidad ... y más allá del Microsoft Camp está NHibernate.

Idealmente, cualquier sugerencia adicional debe ser gratuita o de código abierto. He visto el ORM de Telerik pero esto, por supuesto, es un producto comercial.

Puedo obtener las definiciones / beneficios de cada ORM haciendo una búsqueda en Google, pero estaba interesado en las opiniones de las personas sobre qué ORM parece funcionar mejor para ellos (incluso si no es ninguno de los anteriores).


Estamos usando NHibernate en Azure en este momento y lo estamos encontrando bastante bien.

Debido a que estamos usando la arquitectura s # arp para proporcionar la mayoría del código de plomería para NHibernate y Dependency Injection, hemos logrado que los proyectos se activen rápidamente con una buena base sólida. En general, ha sido bastante fácil, pero puede haber una curva de aprendizaje un poco empinada con NHibernate la primera vez que comienzas.

No estoy seguro si conoce Fluent NHibnerate - http://fluentnhibernate.org - pero es una gran herramienta y mapeará automáticamente sus objetos comerciales en su base de datos. Por supuesto, puede personalizarse para cualquier comportamiento que necesite.


He estado utilizando Entity Framework 1.0 con bastante éxito, y estoy bastante seguro de que 4.0 será aún mejor, particularmente con su soporte para POCO (para que esté libre de objetos relacionados con el contexto desde el principio). En cualquiera de las versiones, el soporte de LINQ hace una gran diferencia una vez que lo dominas.

Pero diría que debería considerar cualquier ORM como solo una opción: si configura su capa de acceso a datos para usar los patrones de Unidad de trabajo y repositorio, utilice su contenedor de Inversión de control favorito para inyectar la implementación particular, luego obtendrá usted mismo un poco más de trabajo de configuración, pero mucho más libertad a largo plazo. A quién realmente le importa dónde están los datos o cómo los está pasando más allá de cierto nivel, es lo que hace con ellos lo que cuenta

eso es lo que creo ...

Toby


Jamie,

Al igual que Toby, he estado usando EF con éxito. Lo recomiendo altamente. Tenga en cuenta que cuando publico esto, tuve que generar el Modelo a partir de una versión local de nuestro esquema. Este no es un acuerdo de oferta, pero vale la pena mencionarlo. Espere que esto cambie en el futuro.

Ian



Yo uso Linq-to-SQL con mi base de datos SQL Azure. Tengo un modelo sencillo de uno a uno entre mis clases y las tablas de la base de datos, por lo que es la solución más simple y funciona perfectamente (algunas fallas técnicas de SQL Azure).

La pregunta Entity Framework vs LINQ to SQL responderá esa pregunta por ti.


DataObjects.Net compatible con SQL Azure. Está disponible bajo GPL (pero no LGPL, es decir, si GPL es demasiado estricto para usted, debe adquirir una licencia comercial).