如何使用 Visual Studio 2017 或 .NET 4.5+ 设置 PostgreSQL?

How to setup PostgreSQL with Visual Studio 2017 or .NET 4.5+?

有好几篇post和PostgreSQL的安装相关的文章,但是有点乱,而且针对不同的版本提供了不同的方法。

这个 post 将帮助那些想要使用 PostgreSQLEntity framework - 数据库优先方法 的人。

要求: 对比 2017 PostgreSQL 数据库 11.1 英孚 6+

第 1 步:

安装 latest 版本的 PostgreSQL v-11.1(未试用较低版本)

第 2 步:

使用堆栈构建器工具安装 npgsql .NET 连接器(在下图中突出显示)。 [在里面找 - ..\PostgreSQL\bin\stackbuilder.exe ]

第 3 步:

进入环境变量,修改系统变量下的path 并添加 PostgreSQL 的 lib 和 bin 文件夹路径

  • [已安装的驱动器]:\...\PostgreSQL\bin
  • [已安装的驱动器]:\...\PostgreSQL\lib

第 4 步:

重要! 下载并安装 Visual Studio 的 Npgsql.vsix 扩展(需要数据源向导提供当您想将连接分配给 Entity Framework 以进行数据库访问时,您可以选择 PostgreSQL)

第 5 步:

创建一个新项目。对于 EF 6+,添加以下 Nuget 包 -> EntityFramework6.Npgsql

注意:上面的包会为你下载所需的依赖

第 6 步:

将Entity Framework模型和相关的连接设置添加到配置文件。

最后将以下代码片段添加到配置文件中:

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

旁注: 无需按照某些文章中的建议在 GAC 或 VS 程序集中单独安装 npgsql dll ,因为新版本会为您做到这一点。