Pergunta

Como posso abstrair meu banco de dados do meu aplicativo para não ter conhecimento do tipo de banco de dados? Eu tenho que projetar um aplicativo .NET 3.5 WPF que deve suportar o SQL Server ou o Visual FoxPro como o repositório de dados.

Meus objetivos de design são:

  1. Torne o tipo de repositório de dados invisível ao escrever código na camada de acesso a dados
  2. Torne o mais rápido e indolor possível alterar entre SQL e FoxPro
  3. Permitir o uso do ANSI SQL e dos procedimentos armazenados do DAL
  4. A curva de aprendizado deve ser mínima para outros desenvolvedores que ingressam no projeto

Este será um aplicativo WPF, provavelmente usando o CSLA.

Pensei em usar algum tipo de ORM, mas não tenho experiência com esse tipo de tecnologia.

Foi útil?

Solução

Muitos ORMs são agnósticos do tipo de banco de dados, embora o requisito da FOXPRO possa restringir suas escolhas ou exigir que você escreva seu próprio provedor ou adaptador.

Se você deseja que seu aplicativo possa trabalhar com vários tipos de banco de dados, digamos, por meio da configuração, também deve ter cuidado para que seus esquemas em cada banco de dados sejam compatíveis e que você não dependa de recursos que não são implementados em um dos bancos de dados ou no ORM que você escolher.

O ORM estou mais familiarizado com o LLBLGEN Pro suporta 5 ou 6 bancos de dados de back-end, mas a FoxPro não é oficialmente suportada. Havia um cliente contribuído com o adaptador FoxPro em um ponto. Não sei se foi mantido.

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