C#使用EF连接PGSql数据库的完整步骤

时间:2021-05-20

前言

由于项目需要,使用到了PGSql数据库,说实话这是第一次接触并且听说PGSql(PostgreSQL)关系型数据库,之前一直使用的都是SqlServer,一头雾水的各种找资源,终于将PGSql与C#的EF连接起来,可以像使用SQLServer一样使用PGSql了。

PGSql目前有一个pgAdmin4的管理工具,下载之后就可以直接访问我们的数据库了。

PGAdmin4下载

本地下载

1.为了演示方便,我们新建一个控制台程序,同时新建一个Entity的类库,后续添加实体模型使用。

2.我们点击工具-->>扩展和更新 -->>安装PGSql所使用的扩展工具NPGSql PostgreSql Integration扩展工具。

3.安装完成之后,我们就可以测试连接我们的pgSql数据库了。在工具-->>连接到数据库我们在数据源一行点击更改按钮,就可以看到我们刚刚安装的PGsql扩展工具了。

4.在操作界面输入本地主机,和对应的数据库名称,以及用户名和密码。点击测试连接,可以看到此处已经连接成功了。

5.接着我们要在我们项目的Entity类库中添加以下两个引用npgsql和EntityFramework6.Npgsql。

具体的添加方法--右键项目--管理NuGet包--输入名称下载即可。

在项目中添加相应的实体模型

添加完成之后,我们还要做一步操作就是在app.config中添加如下黑色的配置信息

<entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> <parameters> <parameter value="mssqllocaldb" /> </parameters> </defaultConnectionFactory> <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> <provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql" /> </providers> </entityFramework> <system.data> <DbProviderFactories> <add name="Npgsql Data Provider" invariant="Npgsql" description="Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, Npgsql" /> </DbProviderFactories> </system.data>

注意:若在实体信息添加那一步即将选择表或视图时闪退,请确保你的项目中EntityFramework的版本是否低于或者高于EntityFramework6.Npgsql所要求的版本,否则会直接闪退掉的。我们只需要更改下对应的版本即可。

最后,我们就可以在项目中使用EF实体对象来访问PGSql了。

由于我也是第一次使用到PGsql数据库,目前也是个新手小白,遇到不明白的问题也会通过各种资源去解决,希望可以帮助到同样第一次或者以后可能接触到PGSql的朋友。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章