Usuário com melhor resposta
Fluenty NHibernate conexão com Azure SQL

Pergunta
-
Estou seguindo um tutorial (https://www.youtube.com/watch?v=sWBPnJa5HXk) e ele está falando de como criar uma conexão com o banco de dados Postgres. Só que eu estou usando o Azure como hospedagem e base de dados, já tenho um banco.
Li rapidamente sobre MRCollective (não sei se esse é o nome), localizado aqui https://github.com/MRCollective/NHibernate.SqlAzure, parece que ele é uma dll que ajuda nesse processo. Mas não entendi muito, não tenho experiência com banco de dados. Alguém pode me ajudar a configurar?
---------- Vítor Norton http://www.vtnorton.com "Be Kind one to another" (Seja Gentil uns com os outros)
Respostas
-
No github está bem descrito:
- Instale ou atualize a versão do pacote FluentNhibernate via Nuget
- Instalar o pacote Install-Package NHibernate.SqlAzure via Nuget
- Configurar o Database para usar o driver SqlAzureDriverClient
Fluently.Configure().Database(MsSqlConfiguration.MsSql2008.ConnectionString(connectionString).Driver<SqlAzureClientDriver>());
Obs: ao invés de "connectionString" você deve setar a connection string do seu Sql Database (pode ser obtida via painel de administração).
<connectionStrings> <add name="SQLAzureConnection" connectionString="Data Source=<ProvideServerName>.database.windows.net;Initial Catalog=TestDb;User ID=<ProvideUserName>;Password=<ProvidePassword>;Encrypt=true;Trusted_Connection=false;" providerName="System.Data.SqlClient" /> </connectionStrings>
Thiago Custodio | Software Engineer
Blog
Twitter
Faça parte da Comunidade Windows Azure Brasil no Facebook- Editado Thiago CustodioMVP quarta-feira, 25 de junho de 2014 20:48
- Sugerido como Resposta Thiago CustodioMVP quarta-feira, 25 de junho de 2014 20:48
- Marcado como Resposta Ricardo Barbosa CortesModerator quinta-feira, 26 de junho de 2014 13:14
Todas as Respostas
-
No github está bem descrito:
- Instale ou atualize a versão do pacote FluentNhibernate via Nuget
- Instalar o pacote Install-Package NHibernate.SqlAzure via Nuget
- Configurar o Database para usar o driver SqlAzureDriverClient
Fluently.Configure().Database(MsSqlConfiguration.MsSql2008.ConnectionString(connectionString).Driver<SqlAzureClientDriver>());
Obs: ao invés de "connectionString" você deve setar a connection string do seu Sql Database (pode ser obtida via painel de administração).
<connectionStrings> <add name="SQLAzureConnection" connectionString="Data Source=<ProvideServerName>.database.windows.net;Initial Catalog=TestDb;User ID=<ProvideUserName>;Password=<ProvidePassword>;Encrypt=true;Trusted_Connection=false;" providerName="System.Data.SqlClient" /> </connectionStrings>
Thiago Custodio | Software Engineer
Blog
Twitter
Faça parte da Comunidade Windows Azure Brasil no Facebook- Editado Thiago CustodioMVP quarta-feira, 25 de junho de 2014 20:48
- Sugerido como Resposta Thiago CustodioMVP quarta-feira, 25 de junho de 2014 20:48
- Marcado como Resposta Ricardo Barbosa CortesModerator quinta-feira, 26 de junho de 2014 13:14
-
Obrigado pela resposta...
Porém agora estou enfrentando um outro problema, ao cadastrar algo no meu sistema dá a mensagem: System.Exception: Erro ao inserir entidade: could not insert: [BuildClasses.Entities.Atualizacao][SQL: INSERT INTO dbo.Atualizacoes (Changelog, DataDaAtualizacao, Descricao, IDSolucao, NomeDaVersao, VersaoPrimeiroNumero, VersaoSegundoNumero, VersaoTerceiroNumero) VALUES (?, ?, ?, ?, ?, ?, ?, ?); select SCOPE_IDENTITY()]
Não sei se é algo na String de Conexão, acredito que não. Ou o nome da tabela na classe de mapeamento, que eu já tentei de tudo. Já fiz os testes com o nome da tabele "Atualizacoes" e "dbo.Atualizacoes", mas aparentemente não é isso.
---------- Vítor Norton http://www.vtnorton.com "Be Kind one to another" (Seja Gentil uns com os outros)
-
Use o Nhibernate profiler para capturar o comando que ele está tentando executar no DB.
http://www.hibernatingrhinos.com/products/nhprof
Thiago Custodio | Software Engineer
Blog
Twitter
Faça parte da Comunidade Windows Azure Brasil no Facebook- Sugerido como Resposta Thiago CustodioMVP segunda-feira, 30 de junho de 2014 14:43