EntityFramework com Firebird (tutorial)

Bem Vindo! Muitos desenvolvedores de sistemas desktop utilizam o SGBD Firebird por ser aberto e possibilitar uma certa facilidade de ‘manuseio’ por ter a possibilidade de concentrar o banco em um único arquivo. Para utilizar o Firebird em seu projeto .NET é necessário algumas configurações no Visual Studio. Com este passo a passo vou especificar quais os possíveis problemas que poderá acontecer. (Problemas que já enfrentei no dia a dia utilizando esses..).

Estou utilizando o VS2012 Ultimate, windows 7 professional.

Você precisa ter instalado o Firebird .net provide e o ddex provider, baixe direto no site do firebirdsql.org. Também é possível instalar pelo NuGet Package Manager direto do Visual Studio, (eu prefiro pelo instalador).

Instale primeiro o .net provider, verifique se a versão do conector é compativel com a versão do .net do seu projeto. No meu caso utilizo o .netProvider 3.2.0.0 e .net 4.0 (é a versão do .net que ainda funciona no XP), caso use .net 4.5 seu projeto só deve rodar em win7 e superiores.

Capturar1

depois, instale o ddex provider que é o controle do VS. Ao instalar pela primeira vez eu não entendia por que não funcionava no meu vs2012, ai percebi que o padrão do instalador não era para a minha versão do vs, tive que reparar a instalação e marcar para instalar no vs 2012.

Capturar2

Capturar3

Na instalação é criado uma ‘DbProviderFactories’ no machine.config da sua maquina: “C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config” (no meu caso), fique atento, caso repare a instalação ou reinstale pode gerar registros duplicados em ‘DbProviderFactories’, ai ao tentar conectar em um banco firebird pelo vs pode se deparar com um erro. Para resolver se caso isso ocorra remova as tags que estão à mais. Aqui comigo isso é corriqueiro, sempre que mudo alguma configuração no vs acabo tendo esse problema.

Capturar11

Se deu tudo certo, agora já é possível criar um modelo do Entity Framework utilizando um banco de dados Firebird:

1 – Crie um novo projeto no Visual Studio

Capturar5

2 – Adicione um ADO.NET Entity Data Model

Capturar6

3 – Selecione a opção gerar a partir de um banco de dados

Capturar7

4 – Crie uma conexão com o seu banco de dados firebird,

Data Source: ‘localhost’ // caso o banco esteja em sua maquina

Database: ‘[seubanco].fdb’ // selecione o seu arquivo de banco de dados

Login: ‘sysdba’ // use o login do seu banco de dados

Password: ‘masterkey’ // sua senha do banco de dados

Capturar8

5 – Selecione as Tabelas, Views e Store Procedure que deseja gerar no EntityFramework

Capturar9

6 – Após o ‘finish’ suas entidades foram gerados!

Capturar10

Agora é só continuar seu projeto. Caso tenha algum problema, pode deixar no comentário, derrepente já passei por isso.

Por hoje é só, obrigado e até a próxima!

Anúncios

11 comentários sobre “EntityFramework com Firebird (tutorial)

    • Fala Evandro, blz? Cara, aqui usamos o VS2012 .net 4.0, connector .net provider 3.2.0.0 e ddex 3.0.0.0
      funciona certinho, tem alguns problemas referente ao
      firebird, mais conseguimos resolver até agora. Já temos uma versão do sistema em produção e tem agradado bastante.
      Eu já estava pensando em testar com VS2013. Qualquer coisa te falo!

  1. Olá Tiago… em busca de material sobre VS 2013 + MVC 5 + EF + Firebird encontrei seu blog…

    Gostaria de saber se você teve exito nos testes com o VS 2013 a qual respondeu ao Evandro ??

    Se teve sucesso poderia nos passar como você conseguiu ?

    • Bom dia André, já fiz várias tentativas até agora sem sucesso. Acredito que ainda não existe implementação para suportar o migration nos componentes do firebird. O que já fiz foi utilizar o fluent para mapear as classes entidade e o banco firebird.

      • Oi Tiago. Parabéns pelo post. Não consegui fazer esse processo no Visual Studio 2015. Mas utilizando o 2012 tudo funcionou perfeitamente. E agora estou em busca dessa conexão das entidades firebird com o fluent nhibernate e não encontro em lugar nenhum. Onde ou como você conseguiu? Se puder compartilhar seria de grande ajuda. Abraço.

  2. Vinicius, nao cheguei a testar com nhibernate, mais funciona sem problemas no vs 2015 tanto com model first, como com o code first e fluent api com entitityframework. Vou tentar postar nos próximos dias como fiz. O que ainda nao funciona sao as migrações.
    Obrigado pelo comentario!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s