C#使用EF連接PGSql數據庫的完整步驟

這篇文章主要給大家介紹了關於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的朋友。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對神馬文庫的支持。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章