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

 更新时间:2019年01月13日 15:23:38   作者:wnxyz8023  
这篇文章主要给大家介绍了关于C#使用EF连接PGSql数据库的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧

前言

由于项目需要,使用到了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的朋友。

总结

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

相关文章

  • c#调用c语言dll需要注意的地方

    c#调用c语言dll需要注意的地方

    这篇文章主要介绍了c#调用c语言dll需要注意的地方,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-03-03
  • 浅谈C# 构造方法(函数)

    浅谈C# 构造方法(函数)

    这篇文章主要介绍了C# 构造方法(函数)的的相关资料,文中讲解非常详细,帮助大家更好的学习C#,感兴趣的朋友可以了解下
    2020-06-06
  • C#之多余控件事件及代码删除问题

    C#之多余控件事件及代码删除问题

    这篇文章主要介绍了C#之多余控件事件及代码删除问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • C#将DataGridView中的数据保存到CSV和Excel中

    C#将DataGridView中的数据保存到CSV和Excel中

    这篇文章介绍了C#将DataGridView中的数据保存到CSV和Excel中的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • Unity实现简单的虚拟摇杆

    Unity实现简单的虚拟摇杆

    这篇文章主要为大家详细介绍了Unity实现简单的虚拟摇杆,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • c#添加图片、文本水印到PDF文件

    c#添加图片、文本水印到PDF文件

    这篇文章主要介绍了如何用c#给PDF文件添加文本、图片水印,文中代码非常详细供大家学习参考,感兴趣的朋友可以了解下
    2020-06-06
  • C#中事件处理的个人体会

    C#中事件处理的个人体会

    C#中事件处理的个人体会...
    2007-03-03
  • unity实现简单计算器

    unity实现简单计算器

    这篇文章主要为大家详细介绍了unity实现简单计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • WPF InkCanvas绘制矩形和椭圆

    WPF InkCanvas绘制矩形和椭圆

    这篇文章主要为大家详细介绍了WPF InkCanvas绘制矩形和椭圆,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • 详析C#的协变和逆变

    详析C#的协变和逆变

    这篇文章主要介绍了详析C#的协变和逆变,在引用类型系统时,协变、逆变和不变性具有如下定义。 这些示例假定一个名为 Base 的基类和一个名为 Derived的派生类,更多内容请需要的小伙伴参考下面文章内容
    2022-01-01

最新评论