Diferença entre Nhibernate e Linq Diferença entre
Nhibernate vs Linq
LINQ
LINQ significa Consulta Integrada de Linguagem. Basicamente, o LINQ aborda o modelo de desenvolvimento de banco de dados atual no contexto do Modelo de Programação Orientado a Objetos. No entanto, o suporte abrangente para o LINQ precisa de algumas extensões na linguagem empregada, uma vez que a Linq não é uma ferramenta completa de Mapeamento Relacional de Objetos (ORM). Tais extensões aumentam a produção e a eficiência, proporcionando assim uma sintaxe mais curta, mais significativa e mais expressiva para manipular dados.
LINQ é um modelo de programação que apresenta consultas como um conceito de primeira classe em qualquer linguagem Microsoft NET. Em outras palavras, é considerado como uma linguagem de consulta utilizada principalmente com o MS SQL Server. Muitos acham a Linq bastante útil em aplicações menores onde a necessidade de banco de dados não é substancial.
NHIBERNATE
O NHibernate é um mapeamento objeto-relacional de código aberto ou ORM para a Microsoft. Plataforma NET. É desenvolvido de forma semelhante à biblioteca Hibernate da Java, que fornece serviços para continuar. Objetos de estrutura NET de e para um banco de dados subjacente.
Destina-se principalmente a desenvolvedores focados em domínio em vez de banco de dados. O NHibernate pode ser aplicado com praticamente qualquer Sistema de Gerenciamento de DataBase (SGBD).
Desvantagem, sem intellisense, o NHibernate tem uma linguagem de consulta limitada. No entanto, é bastante flexível em relação aos tipos de definições de objetos que podem ser mapeados para estruturas de tabela. O NHibernate apresenta mais opções, uma vez que se pode ajustar muitos aspectos em termos de acesso a dados. É quase ilimitado.
Resumo:
1. Com o Linq, o banco de dados já existe e as relações e alguma programação dependerão da forma como o banco de dados é definido.
2. Ao contrário de Linq, o NHibernate é uma fonte aberta.
3. Nhibernate é uma ferramenta ORM, enquanto a Linq é uma ferramenta ORM incompleta, pois precisa de extensões adicionais.
4. Linq é principalmente uma linguagem de consulta, enquanto o NHibernate possui uma linguagem de consulta limitada.
5. Linq é muito mais útil em pequenas aplicações onde não existe uma dependência maciça de bancos de dados.
6. O NHibernate é muito flexível e apresenta mais opções.