npgsql e código da Entity Framework primeiro problemas de configuração

O erro mais recente que estou recebendo é

ERROR: 42P01: relation "dbo.__MigrationHistory" does not exist

mas estou convencido de que isso é apenas porque algo anterior não foi configurado corretamente.

No momento estou tentando configurar o código de estrutura de entidade 4.4 primeiro para usar Npgsql 2.0.12, eu fiz o seguinte e parece pelo menos estar se conectando ao banco de dados agora, mas me dando o erro acima quando eu faço context.saveChanges ();

Atualizado o machine.config para .net 2.0.50727 com;

<add name = "Provedor de Dados Npgsql" invariant = "Npgsql" support = "FF" description = ". Provedor de Dados do Net Framework para o Servidor Postgresql" type = "Npgsql.NpgsqlFactory, Npgsql, Version = 2.0.12.0, Culture = neutral, PublicKeyToken = 5d8b90d52f46fda7 "/>

Adicionado as dlls ao projeto

Alterou o app.config para se parecer com isso;

<configuration>
  <configSections>
    <section name="entityFramework"
      type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,
      EntityFramework, 
      Version=4.4.0.0, Culture=neutral, 
      PublicKeyToken=b77a5c561934e089" 
      requirePermission="false" />
  </configSections>
  <system.data>
    <DbProviderFactories>
      <remove invariant="Npgsql"></remove>
      <add name="Npgsql Data Provider" 
           invariant="Npgsql" 
           description=".Net Framework Data Provider for Postgresql Server" 
           type="Npgsql.NpgsqlFactory, Npgsql, 
                 Version=2.0.12.0, Culture=neutral, 
                 PublicKeyToken=5d8b90d52f46fda7" />
    </DbProviderFactories>
  </system.data>
  <connectionStrings>
    <add name="DataContext" 
         connectionString="Server=127.0.0.1;Port=5432;Database=postgres;User Id=postgres;Password=*******;CommandTimeout=20;" 
         providerName="Npgsql" />
  </connectionStrings>
</configuration>

A transmissão de dados se parece com a seguinte

public class Animal {[chave] public int Id {get; conjunto; } public string Nome {get; conjunto; } string pública Descrição {get; conjunto; } public int Idade {get; conjunto; } public int NoOfLegs {get; conjunto; }}

Todo o resto é genérico na prateleira de contextos

Qualquer ajuda sobre o que estou fazendo errado ou dica ou tutoriais, qualquer coisa seria útil. Esta foi apenas uma pequena prova de conceito, mas eu não me importaria de começar a trabalhar.

P.s. desculpe pelo mau uso da formatação de código, a troca de pilha não me permite usá-lo corretamente por algum motivo, mesmo que esteja formatado corretamente.

questionAnswers(2)

yourAnswerToTheQuestion