Pregunta

Esta respuesta dice que Linq está dirigida a una ligeramente diferente grupo de desarrolladores de NHibernate, Castillo, etc.

De ser bastante nuevo en C#, no importa todos los DB cosas que lo rodean:

  • Hay otros grandes, por falta de un término mejor, SQL contenedores de NHibernate, Castillo, Linq?
  • ¿Cuáles son las diferencias entre ellos?
  • ¿Qué tipo de desarrolladores de desarrollo o se busca?

-Adam

¿Fue útil?

Solución

Cuando usted dice Castillo supongo que te refieres a Castillo de Registro Activo?

La diferencia es NHibernate es un O/M y está dirigido a los desarrolladores que quieren centrarse en el dominio en lugar de la base de datos.Con linq to sql, la base de datos pre-existentes y tienes relaciones y algunas de programación será conducido por la forma de su base de datos está definido.

Ahora entre NHibernate y Castillo de ActiveRecord -- son similares en que estás conduciendo el diseño de la aplicación desde el dominio, pero con NHibernate que usted proporcione de asignación de archivos xml (o asignación de clases con fluidez NHibernate), donde en el Registro Activo está utilizando la convención sobre configuración (mediante el uso de atributos para definir las columnas y los valores que no encajan de forma natural).El castillo de Active record es todavía el uso de Fluent en el fondo.

Una O/M no es necesariamente el " único y verdadero camino a ir.Depende de su entorno, la aplicación de su desarrollo y de su equipo.

Puede que también desee comprobar hacia fuera Subsónico.Es genial para el registro activo, pero no es para proyecto en el que desea centrarse principalmente en su Dominio.Dependiendo del proyecto, que suelen utilizar cualquiera de NHibernate (con el Castillo de Registro Activo) o Subsónico

Otros consejos

LINQ es sólo un conjunto de nuevos C# características:los métodos de extensión, las expresiones lambda, inicializadores de objeto, tipos anónimos, etc.

"LINQ to SQL" en el otro lado es algo que se puede comparar a otras SQL contenedores.

En realidad podemos utilizar tanto Linq y NHibernate juntos (con Fluidez).Si usted tiene un poco de paciencia con la curva de aprendizaje, entonces se le caen rápidamente en el amor.

NHibernate y Linq To Sql son Objeto/Relacional Mappers diseñado para la facilidad de tratar con el desajuste de impedancia encuentran entre los objetos y los RDBMS.Si quieres lograr un comprobables, persistente ignorante de la aplicación, NHibernate es el camino a seguir.Yo siempre recomiendo NHibernate sobre Linq To Sql.Ambas herramientas están dirigidas a la eliminación de tratar con los datos de acceso.¿Cuántas veces usted realmente necesita escribir código de acceso a datos?

Castillo es un marco de aplicación y de la Inversión de Control contenedor y no proporciona acceso a los datos.Proporciona facilidades para el uso de Fluent, reduciendo la fricción, y también de los suministros de la implementación de la Actuve modelo de Registro usando NHibernate.

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