Pergunta

Basta saber o que everyones pensamentos sobre o que ORM para usar para SQL Azure?

Estou bastante confortável usando LINQ to SQL e eu acredito que é possível fazê-lo funcionar com o SQL Azure. No entanto, do meu entendimento (me corrija se eu estiver errado), não houve novas melhorias serão feitas para Linq-to-SQL em versões futuras do .NET framework?

Como alternativa, existe a estrutura de entidade ... e para mais longe da Microsoft Camp é NHibernate.

O ideal é que todas as sugestões adicionais feitas deve ser fonte livre ou aberto. Eu vi de Telerik ORM mas isso, claro, é um produto comercial.

posso obter as definições / benefícios de cada ORM me fazendo uma pesquisa no Google, mas eu estava apenas interessado em povos opiniões sobre qual ORM parece funcionar melhor para eles (mesmo que seja nenhuma das opções acima)

Foi útil?

Solução

Estamos usando NHibernate on Azure no momento e estão descobrindo que é muito bom.

Porque estamos usando s # arp arquitetura para fornecer a maioria do código de canalização para NHibernate e Dependency Injection temos conseguindo projectos despediu-se muito rapidamente com uma boa base sólida. Tudo dito que tem sido bastante indolor, mas pode haver um pouco de uma curva de aprendizado íngreme com NHibernate quando você começar.

Eu não tenho certeza se você está ciente de Fluente NHibnerate - http://fluentnhibernate.org - mas é uma grande ferramenta e irá mapear automaticamente os objetos de negócios para o seu banco de dados. É claro que pode ser customizado para qualquer comportamento que você precisa.

Outras dicas

DataObjects.Net suporta SQL Azure. Está disponível sob a GPL. (Mas não LGPL - ou seja, se GPL é muito rigoroso para você, você deve adquirir uma licença comercial)

Tenho recentemente caiu no amor com abordagem Entity Framework 4.0 do "Code First" para ORM / dados de persistência.

Não se engane -. EF4.0 é anos-luz à frente de versões anteriores do EF e EF impulsiona para ser um verdadeiro concorrente no mercado ORM

Leia através EF primeira demo roteiro de Hanselman do PDC 2010 ou Scott Guthrie walk-through de Code First :)

Confira NHibernate. Provavelmente top de linha no momento.

Caso contrário, um bom recurso é sempre http://www.ormbattle.net/

Eu uso o Linq-to-SQL com o meu banco de dados SQL Azure. Eu tenho um modelo simples de um-para-um entre as minhas aulas e tabelas de banco de dados por isso é a solução mais simples e funciona prefectly (alguns SQL Azure glitches lado).

O Entity Framework vs LINQ to SQL questão irá responder a esse para você.

Estou usando o Entity Framework 1.0 bastante sucesso, e eu tenho certeza que 4.0 será ainda melhor, especialmente com o seu apoio para a POCOs (assim você está livre de objetos relacionados com o contexto desde o início). Tanto a versão, o apoio LINQ faz uma diferença enorme quando você pegar o jeito dele.

Mas eu diria que você deve considerar qualquer ORM como apenas uma opção - se você configurar sua camada de acesso de dados para usar a unidade de trabalho e padrões de repositório, em seguida, usar o seu Inversão favorito de recipiente de controle para injetar o implentation particular, em seguida, você ganha-se um pouco mais a criação de trabalho, mas muito mais liberdade longo prazo. Quem realmente se importa onde os dados é ou como você está recebendo-lo após um certo nível, é o que você faz com ele que conta

que é o que eu acho ...

Toby

Jamie,

Como Toby Tenho vindo a utilizar o EF com sucesso. Eu recomendo. Note que como eu postar isso eu tinha para gerar o modelo de uma versão local do nosso esquema. Este não é um negócio de oferta, mas vale a pena mencionar. Esperamos que isso mude no futuro.

Ian

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top