Artigo do tipo Tutorial
Recursos especiais neste artigo:
Conteúdo sobre boas práticas, Artigo no estilo mentoring.

Cenário
Por mais que o NHibernate nos forneça suporte a diversas bases e suas mais variadas funções através de sua estrutura de drivers e dialetos, alguma vezes pode ser interessante implementarmos nós mesmos um dialeto customizado. Por exemplo, um projeto legado, que possui uma série de funções na base de dados e está passando por uma refatoração em sua arquitetura. Pode ser que não seja viável migrar todas estas funções para a lógica da aplicação, fazendo com que a aplicação continue a chamar estas funções na base dados, porém, através do NHibernate. Em um primeiro momento a solução seria executar SQLs nativos diretamente pelo NHibernate, visto que o mesmo não reconheceria as funções customizadas pelo usuário eu seus códigos HQL ou em suas criterias. Porém, como alternativa a isto termos a possibilidade de fazer com que o NHibernate entenda estas funções, através da criação de um dialeto customizado.


Em que situação o tema é útil
Este tema é útil nas situações onde se torna necessária a implementação de um dialeto customizado de funções do NHibernate, podendo ser aplicado a projetos legados, que possuem uma vasta gama de bibliotecas e rotinas no banco de dados ou para atender uma atualização recente em um SGDB que ainda não tenha sido compatibilizado com o NHibernate.

Apesar do NHibernate ter diversos dialetos para várias versões de diversos SGDBs, o mesmo nos permite estender estes dialetos, ou até mesmo criar dialetos completamente novos. Estes dialetos customizados podem ser necessários em dois cenários principais:

...
Quer ler esse conteúdo completo? Tenha acesso completo