2010-03-12 18 views
20

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

Estoy 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 entidades ... y más allá del Microsoft Camp está NHibernate.

Lo ideal es que cualquier sugerencia adicional sea gratuita o de código abierto. He visto Telerik's ORM pero esto, por supuesto, es un producto comercial.

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

+0

favor evitar ocultar enlaces de spam en sus mensajes. – Matt

Respuesta

5

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

Debido a que estamos usando s#arp architecture para proporcionar la mayoría del código de plomería para NHibernate y Dependency Injection, hemos logrado que los proyectos se enciendan 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.

1

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

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

+1

Es solo un gran anuncio 'DataObjects.Net'. :) –

+0

Por lo que vale Lokad.Translate es una humilde compilación de aplicaciones para Azure con NHibernate, mira http://code.google.com/p/lokad-translate/ –

1

uso de 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 para usted.

6

DataObjects.Net es 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).

+0

No me he encontrado con esto antes, muchas gracias para el cara a cara! –

1

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 desde el principio). En cualquiera de las versiones, el soporte de LINQ hace una gran diferencia una vez que lo dominas.

Pero yo diría que debe considerar cualquier ORM simplemente como 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 , entonces ganas un poco más de trabajo de configuración, pero mucha más libertad a largo plazo. A quién le importa realmente dónde están los datos o cómo lo está pasando más allá de un cierto nivel, es lo que hace con eso que cuenta

eso es lo que creo ...

Toby

+1

Estoy de acuerdo en que 4.0 es mejor que el marco 1.0. Por desgracia, no es "aún mejor", sino "idiota estúpido" en lugar de "el peor marco". Por favor, eche un vistazo a las características de GOOD ORM antes de que le guste enttiy framework. Te pierdes el mundo. – TomTom

1

Jamie,

Al igual que Toby He estado usando el 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

5

recientemente he caído en el amor con el enfoque de Entity Framework 4.0 "Código primero" a ORM/datos persistencia.

No se equivoque: EF4.0 está a años luz de las versiones anteriores de EF y propels EF para ser un verdadero competidor en el mercado de ORM.

leer a través de Hanselman EF code first demo script del PDC 2010 o Scott Guthrie's walk-through of Code First :)

Cuestiones relacionadas