4
votes

I am receiving following error

The 'Instance' member of the Entity Framework provider type 'Npgsql.NpgsqlServices, Npgsql, Version=2.0.14.2, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7' did not return an object that inherits from 'System.Data.Entity.Core.Common.DbProviderServices'. Entity Framework providers must inherit from this class and the 'Instance' member must return the singleton instance of the provider. This may be because the provider does not support Entity Framework 6 or later; see http://go.microsoft.com/fwlink/?LinkId=260882 for more information.

Can any one help me

here is my App.Config File

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="CacsLocal" connectionString="Server=localhost;Database=Kappa;User Id=postgres; Password=xyz;" providerName="Npgsql" />
    <add name="   CacsCentral" connectionString="Server=localhost;Database=KPT1;User Id=postgres; Password=insane1234;" providerName="Npgsql" />
  </connectionStrings>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>     
      <provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, Npgsql" />
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"></provider>
    </providers>
  </entityFramework>
  <system.data>
    <DbProviderFactories>
      <add name="Npgsql Data Provider" invariant="Npgsql" description="Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, Npgsql" />
    </DbProviderFactories>
  </system.data>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
</configuration>

I have Npgsql2 version 2.0.14.2 Entity Framework 6.0.2

All the packages are installed through Package Manager by following command

Install-Package Npgsql -Pre
Install-Package EntityFramework -Pre

Thanks

1
Do you have [this reference] in your Main project(npgsql.projects.pgfoundry.org)? - Tico
let me check and do it again - Shakoor Alam
One thing, don't use the -pre versions. You might get some incompatibilities. - Tico
after using this reference I am getting this error "The ADO.NET provider with invariant name 'NPGSQL' is either not registered in the machine or application config file" Inner exception shows Unable to find the requested .Net Framework Data Provider. It may not be installed - Shakoor Alam
Uninstall everything and install it again. Use the npgsql forums as well - Tico

1 Answers

1
votes

Check out this question: Entity Framework 6 with Npgsql

It has the pointers to get it working. I hope it helps.