Join the Stack Overflow Community
Stack Overflow is a community of 6.9 million programmers, just like you, helping each other.
Join them; it only takes a minute:
Sign up

I succeeded in accessing an existing postgresql dbase by using npgsql directly. I used for this:

  1. PostgreSQL 9.0.10 (32 bit)
  2. Visual Studio 2015 Community (64 bit)
  3. NpgSql 2.2.5 (through Manage Nuget Packages)

The dbase however has 25+ tables and 400+ columns and such my intention is to to use entity framework + .ADO.net Entity Data Model to avoid having to code access to all columns. I searched and tried everything on this site, npgsql site http://www.npgsql.org/doc/ddex.html, ... but I I did not succeeded in generating an .ADO.net Entity Data Model because postgresql does not appear in Data Source.

I used for this:

  1. PostgreSQL 9.0.10 (32 bit)
  2. Visual Studio 2015 Community (64 bit)
  3. NpgSql 2.2.5 (through Manage Nuget Packages)
  4. Setup_Npgsql-2.2.5.0-r3-net45.exe (from GitHub because some sites indicated the requirement of having the same version into GAC as the used package in visual studio project; I did not took version 3.0.0 as Github misses install files).
  5. Npgsql.entityframework6 2.2.5 (through Manage Nuget Packages)
  6. Entityframework 6.1.3 (through Manage Nuget Packages)

What do I have to do so postgresql appears as Data Source when trying to generate an .ADO.net Entity Data Model?
Or does Visual Studio 2015 community does not allows the generation of .ADO net entity data model for postgresql ?

EDIT I have added the following info in the hope for a reply:

Microsoft Windows 8.1 6.3.9600 build 9600 64-bit used

Extract out "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config"

<system.data>
    <DbProviderFactories>
        <add name="Npgsql Data Provider" invariant="Npgsql" description=".Net Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, Npgsql, Version=2.2.5.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" support="FF" />
    </DbProviderFactories>
</system.data>

Extract out "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config"

<system.data>
    <DbProviderFactories>
        <add name="Npgsql Data Provider" invariant="Npgsql" description=".Net Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, Npgsql, Version=2.2.5.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" support="FF" />
    </DbProviderFactories>
</system.data>

"Visual Studio - packages.config"

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="EntityFramework" version="6.1.3" targetFramework="net452" />
  <package id="Npgsql" version="2.2.5" targetFramework="net452" />
  <package id="Npgsql.EntityFramework" version="2.2.5" targetFramework="net452" />
</packages>

"Visual Studio - App.config"

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
  </startup>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, Npgsql.EntityFramework" />
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>
share|improve this question
    
I have the same issue in VS 2015 and I've done pretty much the same thing you have but I can't get postgres to show up. I even installed the dotConnect express version of postgres with no luck. – thelok Aug 24 '15 at 19:43
    
I can understand you and I am still having this problem. There is not much I can do about this as a beginning coder in C#. I guess I have no other choice then to keep studying/trying to finally discover something obvious. – mcCfq4 Aug 26 '15 at 9:50
    
This gave me nightmares for weeks. Good luck. I eventually got around it by creating a whole bunch of functions to perform my data manipulation. – jaredlee.exe Oct 20 '15 at 10:29
    
hi folks - i am also not seeing a dataprovider when using npgsql. any of you managed to find a solution - the world would be very appreciative if you could post results. chrs – BKSpurgeon Nov 16 '16 at 7:03

I had been the same issue for a while. Then, I've tried to install dotconnect https://www.nuget.org/packages/dotConnect.Express.for.PostgreSQL/7.4.506/. And, it works! hope this help.

share|improve this answer

I was confused while 3 days becuase the same problem.

But, I found solve this problem:

  1. install .vsix file in your visual studio environment. https://github.com/npgsql/npgsql/releases/tag/v3.1.8 (NpgsqlDdexProvider)

  2. install Npgsql and EntityFramework6.Npgsql by Nuget Package Manager.

  3. Build your project. (For apply configuration of modified App.xaml by Nuget)

  4. You can use ADO.NET Entity Model Generation.

Also, dotConnect not support Entity Model in Express version. It supported in only commercial version.

But currently, Npgsql has immediately close bug in EDM. so, I finding solution.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.