I succeeded in accessing an existing postgresql dbase by using npgsql directly. I used for this:
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:
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>
Using the Entity Data ProviderdotConnect for PostgreSQL allows using it in Entity Framework models in various ways. You can use our provider with standard Visual Studio Entity Framework tools, in the same way as SqlClient.
Create the ADO.NET Entity Data ModelRight-click on your project in the Solution Explorer window and select the menu option Add -> New Item. In the Add New Item dialog, select the Data category. Select the ADO.NET Entity Data Model template, give the Entity Data Model the name Northwind. edmx, and click the Add button.
I was confused while 3 days becuase the same problem.
But, I found solve this problem:
install .vsix file in your visual studio environment. https://github.com/npgsql/npgsql/releases/tag/v3.1.8 (NpgsqlDdexProvider)
install Npgsql and EntityFramework6.Npgsql by Nuget Package Manager.
Build your project. (For apply configuration of modified App.xaml by Nuget)
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With