Pergunta

Um procedimento típico armazenados em nosso sistema aceita cerca de 20 ou menos parâmetros. Não há nenhuma chance de refatoração esses procedimentos armazenados também. Eu basicamente recorreu a escrever meu próprio gerador de código que envolve estes SP de dentro (do banco de dados provedor de agnósticos) objetos "Comando", com suas propriedades públicas correspondentes aos parâmetros SP. Ele funciona, mas eu prefiro um 3o partido tentou e solução testada.

Alguém pode recomendar alguma coisa? Eu não encontrei um que suporta OleDB e procedimentos armazenados.

Edit: eu preciso conectividade OleDb por causa de SQL 6.5 (acredite ou não). ADO.NET não pode se conectar ao SQL 6.5. Além disso, esta é uma aplicação .NET 2.0, de modo LinqToSql é de nenhuma utilidade para mim.

Edit2: Eu já tentei nHibernate e iBatis. Nenhum deles atender minhas necessidades. A última vez que eu tentei nHibernate exigiu que o SP retornar um conjunto de resultados. Isso não é o caso com os meus SPs. Ambos também exigem me para especificar manualmente os parâmetros.

Foi útil?

Solução

Eu tenho experiência com 3 camadas ORM:

Todos os três são livres, conexões apoio OleDb e procedimentos armazenados.

Subsonic - Este foi construído especificamente para aplicações web. Ele imita muito do que Ruby On Rails faz. Eles só adicionado migrações. Subsonic é o mais leve dos três. É um pouco mais difícil de usar para WinForms, mas não é tão difícil como eu pensava que seria. Ele vem com uma boa ferramenta de interface do usuário para gerar o código e manter as configurações de banco de dados. Esta é a única que tem suporte para bancos de dados diferentes. Eu usei-o com SQLite, SQL Server CE e SQL Server.

CSLA.NET - Este pode muito bem lidar com praticamente toda a nova e brilhante .NET tecnologias. Eu sei que o autor acabou de adicionar suporte para WCF, WPF e Silverlight. Isto é o que eu uso quando preciso levantar muito pesado com aplicativos do tipo enterprisey. Ele tem um monte de características interessantes como desfazer objeto ilimitada, a capacidade de coleções marca como somente leitura, e a capacidade de movimento e âncora objetos onde quiser. Este é o mais próximo que você vai chegar ao que JBoss faz em Java.

Tiers Net - Eu não sou um grande fã, mas ele vai fazer o trabalho. É mais leve que CSLA, mas ainda mais pesado do que Subsonic.

Gostaria também de mencionar NHibernate , Castelo Active Record e Microsoft Enterprise biblioteca. Eu não tenho muita experiência com estes embora.

Outras dicas

Pelo que tenho ouvido quadro ADO .NET Entitry tem apoio do litle em procedimentos armazenados ... LINQ2SQL você pode fazê-lo funcionar, mas podem exigir somekind de uma classe de proxy ... NHibernate e iBATIS é sua melhor aposta ...

Alternativas:

  1. LINQ to SQL
  2. ADO.NET Entity Framework
  3. NHibernate
  4. A sua escolha)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top