Cuando la elección de un ORM, es LINQ to SQL o LINQ to entities mejor que NHibernate?

StackOverflow https://stackoverflow.com/questions/71955

  •  09-06-2019
  •  | 
  •  

Pregunta

Me veo más con NHibernate, e incluso el Castillo que con el Linq to entities, o linq to SQL.

¿Estoy loca?

¿Fue útil?

Solución

Ya no estás loco.nHibernate es un completo O Mapper, Linq to SQL y Linq to entities no poner en práctica todo lo que usted esperaría de una O mapper y dirigidas a un ligeramente diferente grupo de desarrolladores.

Pero no dejes que eso te desanime linq, aunque.Linq es todavía una idea bastante buena..Trate de Linq to nHibernate :-)

Otros consejos

Los grandes inconvenientes de NHibernate, Castillo, etc., es que no son exactamente de la luz-peso (especialmente NHibernate.)

Linq to SQL es bueno para un peso ligero, el uso limitado de ORM.

Yo he usado tanto NHibernate y LINQ to SQL.Desde mi punto de vista depende del proyecto, si necesito algo rápido, yo elegiría L2S, es tan simple para crear el dbml asignación y empezar a usarlo.Si estoy desarrollando un más alto nivel de empresa la solución que me iría a por el probado y fiable ORM - NHibernate, me parece y registro de transacción de características fáciles de usar.

LINQ to SQL tiene una relativamente corta curva de aprendizaje, NHibernate tiene una empinada curva de aprendizaje.

LINQ to SQL sólo es compatible con SQL Server, así que si tienes una base de datos de Oracle, a continuación, la decisión ya está tomada - NHibernate.

Me gustaría recomendar la comprobación hacia fuera http://www.summerofnhibernate.com/ excelente screencasts en el aprendizaje de NHibernate.

Una cosa a tener en cuenta es que NHibernate puede ser una absoluta cerdo para configurar - especialmente desde su base principalmente en XML de los archivos de configuración debido a sus raíces como el original de la Hibernación.

Habla NHibernate para hacer esto menos doloroso.

Linq, ciertamente, a pesar de que encaja con el general de la 'forma' en que .NET obras.

Blockquote Linq, ciertamente, a pesar de que encaja con el general de la 'forma' en que .Redes

Uff, este tipo de sentimiento que me asusta.El RAD cosas construida en .net NO es cómo dot net funciona, es sólo un conjunto de herramientas para la obtención de prototipos de seguridad..NET nos permite hacer pleno DDD aplicaciones, w/ niveles elevados de cohesión, seperations de preocupaciones, y nos permite escribir código desacoplado, a pesar de todos los intentos de ms hace a la par de cosas.Creo firmemente en desacuerdo de que .net le gusta estar junto, ciertas herramientas como para ser acoplado, voy a incluir de linq to sql en esta refriega.linq to sql destruye la idea de tener a una nueva modelo de dominio.Me estremezco ante la idea de usar mi esquema de base de datos como el modelo subyacente de los objetos.Adecuado ORM herramientas que nos permiten modelo de nuestro dominio en primer lugar, a continuación, vincular nuestra base de datos relacional para estos modelos.NO la otra manera alrededor.

No he probado el Marco de la Entidad, pero sin duda recomiendo NHibernate sobre Linq to SQL;La razón más grande que te puedo dar es solo el control.Linq to SQL que le gusta tener mucho más control sobre todo, la carga, el objeto y el mantenimiento de todo tipo de información de seguimiento sobre el objeto.Si usted serializar/deserializar, la información de seguimiento puede ser perdido y las cosas extrañas pueden suceder cuando se guardar de nuevo.NHibernate funciona más como un repositorio debe - la mano de ella cualquier objeto que desee (los que la han configurado a entender, por supuesto), y se vuelve a guardar en la base de datos, independientemente de lo que has hecho con ella.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top