Configurar o Fluent Nhibernate com Asp .Net Mvc
Olá a Todos!
Neste Post Irei mostrar um passo a passo de como se configurar o Fluent Nhibernate com asp Net Mvc.
Para quem nao conhece o Fluent Nhibernate recomendo uma breve leitura em:
http://wiki.fluentnhibernate.org/Getting_started.
Crie um Projeto Mvc 2 Web Application.
http://fluentnhibernate.org/downloads
Faça o download do fluent, depois disso em seu projeto, va em References click com o botão direito, va em browser e navegue até a pasta onde você deixou as suas dll’s do fluent.
Vamos criar um arquivo que ira gerenciar as nossas sessões:
Crie um diretório na sua Solution, no meu caso irei criar com o nome Comum e dentro dele crie uma classe com o nome Config.cs.
Bom analisando a nossa Class:
Temos três propriedades:
Session: utilizaremos para trabalhar com a sessão: salvar,deletar … etc, os métodos que iremos enviar os valores para a nossa sessão.
Trasaction: com esse trabalharemos para dar Commit, Rollback… etc
ISessionFactory: propriedade que recebe os valores de retorno no nosso método CreateSessionFactory().
E o método CreateSessionFactory(), que neste exemplo esta conectando em um banco Sql Server 2008. Para mais informações, sobre como conectar em outros bancos como por exemplo Mysql veja nesse link:
http://wiki.fluentnhibernate.org/Database_configuration
Agora vamos no nossas classes de Domínio e iremos criar a nossa class Cavaleiros.
Obs.: estou criando esta class no na model do meu projeto.
Duas Observações a 1 não esqueça do virtual o fluent usa ele para o mapeamento e coloque como private no set do Id, pois ele será atribuido pelo Nhibernate.
Depois crie um diretório com o nome Repositório e dentro dele uma class com o nome CavaleirosMap.cs.
Criamos o nosso primeiro atributo o id:
Id(x => x.Id).GeneratedBy.Identity();
Colocamos o GeneratedBy.Identity, pois sera o Nhibernate que ira criar o Id para nós, agora podemos mapear os outros atributos.
Note que assim que colocamos Map(x => x. ) ele ja mapeia os outros atributos que criamos na outra class cavaleiro.cs
Depois que terminarmos este mapeamento a class ficará assim:
Agora vamos criar a nossa tabela Cavaleiros:
Nao podemos esquecer de configurar no sql manager studio, no modo design Column Properties Identity Specification colocar como yes indentity increment, se nao o sql server nao ira deixar o nhibernate criar os Ids.
Bom agora vamos na nossa Controller:
Bom na controller nós instanciamos a nossa classe Cavaleiros e tbm criamos uma propriedade com o nome entidade, que se encarrega de chamar os métodos que iram trabalhar com a nossa sessão.
Bom como o foco deste post é somente a configuração irei parar por aqui, espero que seja útil.






