2012-02-28 22 views
5

Hemos estado trabajando en VS2010 y EF, y varias discusiones sobre la escalabilidad y el coste nos han llevado a considerar el cambio a Mono.Pasar a Mono: alternativas de Entity Framework

Entiendo que casi todo mi código sería funcional, excepto el EF que estamos usando para nuestro modelo (proyecto ASP.NET).

¿Alguien puede recomendar un ORM fácil de usar que nos permita hacer muchas de las mismas operaciones de mapeo (claves externas, etc.) con MySQL? Una cosa que sí me gustó fue el elemento visual del modelado de EF, por lo que es muy simple hacer cambios y ver las relaciones.

+0

NHibernate (no es realmente fácil de usar). – Steven

+0

@Steven - NHibernate y Entity Framework están en el mismo estadio de la complejidad. Si elige escribir a mano sus archivos de mapeo XML, NHibernate es un inicio más lento que Entity Framework, pero no hay una buena razón para hacerlo. –

+1

En relación con "escribir sus archivos de mapeo XML", ¿está diciendo que hay herramientas que nos ayudarían a mapearlas automáticamente? Si es así, ¿puedes señalarme en la dirección de estos? – pierre

Respuesta

0

Si su proyecto no es muy complejo, Castle ActiveRecord es una de las alternativas. Aunque no proporciona una relación FK, es mucho más fácil de usar que NHibernate. Por ejemplo, AR proporciona la configuración basada en anotaciones en lugar de la configuración XML detallada.

+0

Castle ActiveRecord funciona bien con relaciones de clave externa. ¿A qué te refieres? –

+0

¿Castle ActiveRecord admite LINQ sobre consultas IQueryable? – Steven

+0

@Michael - Me refería al atributo [ForeignKey] en EF que hace más útil al guardar un objeto primario-secundario, por otro lado, hay un atributo [BelongsTo] en AR, pero se usa como tipo de referencia no primitivo que yo sé. Por favor, corríjame si estoy equivocado. – Ray

1

Como está escrito, no hay respuesta a su pregunta porque está mal formado. En el título, menciona que desea una "alternativa de Entity Framework", pero sus últimos comentarios indican que está buscando más de lo que proporciona el Entity Framework, por lo que incluso si existiera, no le daría todo lo que deseaba.

Sin más detalles, parece que quiere decir algo más parecido a:

  • ¿Cómo puedo usar MySQL y Visual Studio para conseguir una experiencia equivalente, bien integrada en la actualidad hago con SQL Server (o otro DB comercial)?
  • ¿Qué bases de datos alternativas y ORM compatibles con EF puedo usar para obtener una experiencia de tiempo de diseño equivalente con MySQL (u otro DB de fuente abierta) en comparación con lo que obtengo actualmente con SQL Server (u otro DB comercial)?
  • ¿Cómo puedo obtener una experiencia de depuración, tiempo de diseño y desarrollo de Visual Studio equivalente y bien integrada en una plataforma de bajo costo que no sea de Windows (por ejemplo, Linux)?

Dependiendo de cuál de las preguntas anteriores se aproxime más, la respuesta será la más clara.

1

Hoy tried Entity Framework 6 alfa2 con Mono. Todavía no está allí, pero creo que los problemas pueden solucionarse.