DevGoiás .NET Site
Página Inicial do Fórum Página Inicial do Fórum > Desenvolvimento .NET > ADO.NET
  Posts Novos Posts Novos
Procurar o fórum   

Tantos ORMs, qual escolher?

 Responder Responder
Autor
Mensagem
  Tópico Procurar Tópico Procurar  Opções do Tópico Opções do Tópico
alliston Veja o Drop-Down
DevSilver (Novo)
DevSilver (Novo)


Registrado: 20/Maio/2008
Status Online: Offline
Mensagens: 37
  Citação de  alliston Citação de   ResponderResposta Link direto para este Post Tópico: Tantos ORMs, qual escolher?
    Enviado: 24/Dezembro/2009 em 08:59
Pessoal, venho estudando um pouco de ORMs, que, para quem não sabe, são as tecnologias de acesso a dados, como Linq to SQL (não confundam com Linq puro), NHibernate, Entity Framework e outros.

E nesse estudo, vi alguns prós e contras de cada um desses ORMs.
Mas queria ver a opinião de vocês: atualmente, qual o ORM mais passível de confiabilidade, performance e manutenibilidade (leia-se menos hard-code) que vocês indicariam? E para qual situação?

Vamos gerar uma discussão boa, e aprender com isso :)

No mais, Feliz Natal!
Voltar para topo
barley3066 Veja o Drop-Down
Administrador
Administrador
Avatar

Registrado: 06/Dezembro/2004
Status Online: Offline
Mensagens: 518
  Citação de  barley3066 Citação de   ResponderResposta Link direto para este Post Enviado: 24/Dezembro/2009 em 11:33
cara tenho 2 projetos aqui
um com entity framework e outro como Nhibernate.

minha humilde opinião que o EF por ser Microsoft oferece maior integração com .NET e visual studio. Assim maior produtividade e integração com Linq

O Nhibernate é algo interessante por ser bastante maduro na comunidade Java com o Hibernate. No entanto alguns trabalhos braçais me deixam um pouco desmotivado a trabalhar com o Nhibernate.

Conhecendo bem de C# consiguimos construir uma arquitetura que faz toda a persistencia herdando classes abstratas, assim os metodos de CRUD definidos na classe pai são capazes de manter qualquer tabela do banco com a simples herança dessa classe pai em suas classes filhas mapeadas do banco.

Prefiro trabalhar com o EF, mas sinto maior confiança com o Nhibernate.

Uma dica legal é usar o mygeneration para mapear as tabelas e gerar as classes e arquivos xml no caso de utilizar o nhibernate.

---
José Lino
neto@devgoias.net
http://joselino.net
Microsoft Student Partner - Lead

 

Voltar para topo
barley3066 Veja o Drop-Down
Administrador
Administrador
Avatar

Registrado: 06/Dezembro/2004
Status Online: Offline
Mensagens: 518
  Citação de  barley3066 Citação de   ResponderResposta Link direto para este Post Enviado: 24/Dezembro/2009 em 11:36
a pior coisa para mim no nhibernate:
- mapeamento objeto-relacional
- definir os filtros de consulta no arquivo xml

a pior coisa para mim no EF
- Contexto - ocorrem varios bugs, principalmente na inclusão / edição - preriro entidades burras ao que entidades inseridas em um contexto.
- Um arquivo só para conter todo mapeamento objeto relacional, devido a isso é necessário quebrar a aplicação em modulos, em testes com 1000 classes era impossível de trabalhar com o mesmo arquivo edmx.

---
José Lino
neto@devgoias.net
http://joselino.net
Microsoft Student Partner - Lead

 

Voltar para topo
barley3066 Veja o Drop-Down
Administrador
Administrador
Avatar

Registrado: 06/Dezembro/2004
Status Online: Offline
Mensagens: 518
  Citação de  barley3066 Citação de   ResponderResposta Link direto para este Post Enviado: 24/Dezembro/2009 em 11:50
- melhor coisa no Nhibernate
comunidade e suporte, grande conteudo internet.
estabilidade

- melhor coisa no EF
integração linq
lambda expression para uso e filtros.

---
José Lino
neto@devgoias.net
http://joselino.net
Microsoft Student Partner - Lead

 

Voltar para topo
alliston Veja o Drop-Down
DevSilver (Novo)
DevSilver (Novo)


Registrado: 20/Maio/2008
Status Online: Offline
Mensagens: 37
  Citação de  alliston Citação de   ResponderResposta Link direto para este Post Enviado: 24/Dezembro/2009 em 14:09
Bom, concordo com você sobre o EF Lino.
NHibernate eu não posso opinar, tive uma experiência de 10 minutos com ele. Não gostei justamente pelo trabalho braçal, mas com essa ferramenta que você citou, pode ser que melhore.

E agora coloco mais lenha na fogueira: temos também o Linq to SQL, o qual sou bastante adepto.

Me adaptei bastante à esse ORM, mas justamente estou achando-o inviável por trabalhar somente com SQL Server.
No modelo de mapeamento dele, até agora não notei nenhum impedimento sério, visto que trabalhei com ele em aplicações de médio porte, não grande porte.

Mas ele em tese me atende, pecando somente por esse fato de exclusividade com SQL Server.
Voltar para topo
barley3066 Veja o Drop-Down
Administrador
Administrador
Avatar

Registrado: 06/Dezembro/2004
Status Online: Offline
Mensagens: 518
  Citação de  barley3066 Citação de   ResponderResposta Link direto para este Post Enviado: 24/Dezembro/2009 em 16:34
sugiro migração para EF.

Migração é natural em relação sua experiência. Mesmo uso do LINQ

---
José Lino
neto@devgoias.net
http://joselino.net
Microsoft Student Partner - Lead

 

Voltar para topo
alliston Veja o Drop-Down
DevSilver (Novo)
DevSilver (Novo)


Registrado: 20/Maio/2008
Status Online: Offline
Mensagens: 37
  Citação de  alliston Citação de   ResponderResposta Link direto para este Post Enviado: 24/Dezembro/2009 em 18:32
Sim, já estou em processo de migração.
Mas algumas coisas, como Transactions, não foram tão naturais assim.
Pelo menos a primeira vista não, mas como ainda tô no início, tem muita estrada pela frente.
Mas esse é o futuro!
Voltar para topo
 Responder Responder

Ir para Permissões do Fórum Veja o Drop-Down

Bulletin Board Software by Web Wiz Forums® version 9.06
Copyright ©2001-2007 Web Wiz

Pagina aberta em 0.031 segundos..