Search code examples
entity-frameworkpostgresqlnpgsql

Error generating EntityFramework with Npgsql


I'm trying to integrate EntityFramwork with Postgres with Npgsql.

The installed packages are:

 <package id="Npgsql" version="2.2.7" targetFramework="net45" />
 <package id="Npgsql.EF6" version="2.0.12-pre4" targetFramework="net45" /> 
 <package id="Npgsql.EntityFramework" version="2.2.7" targetFramework="net45" />

But, when I'm trying to generate the entities I get this error: enter image description here

I have an idea from similar issues with soluctions with MySql but with postgres I'm not sure how I can fix it.

Web.config:

  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="Devart.Data.PostgreSql" type="Devart.Data.PostgreSql.Entity.PgSqlEntityProviderServices, Devart.Data.PostgreSql.Entity, Version=7.1.26.6, Culture=neutral, PublicKeyToken=09af7300eec23701" />
      <provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, Npgsql.EntityFramework" />
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
  <system.data>
    <DbProviderFactories>
      <remove invariant="Npgsql" />
      <add name="Npgsql Data Provider" invariant="Npgsql" description="Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, Npgsql" />
    </DbProviderFactories>
  </system.data>

Solution

  • I uninstalled all the packages: pgsql, Npgsql.EF6 and Npgsql.EntityFramework.

    And now I have only:

    <package id="EntityFramework6.Npgsql" version="3.0.5" targetFramework="net45" />
    <package id="Npgsql" version="3.0.5" targetFramework="net45" />
    

    and it's working