前言
由于項目需要,使用到了pgsql數據庫,說實話這是第一次接觸并且聽說pgsql(postgresql)關系型數據庫,之前一直使用的都是sqlserver,一頭霧水的各種找資源,終于將pgsql與c#的ef連接起來,可以像使用sqlserver一樣使用pgsql了。
pgsql目前有一個pgadmin4的管理工具,下載之后就可以直接訪問我們的數據庫了。
1.為了演示方便,我們新建一個控制臺程序,同時新建一個entity的類庫,后續添加實體模型使用。
2.我們點擊工具-->>擴展和更新 -->>安裝pgsql所使用的擴展工具npgsql postgresql integration擴展工具。
3.安裝完成之后,我們就可以測試連接我們的pgsql數據庫了。在工具-->>連接到數據庫我們在數據源一行點擊更改按鈕,就可以看到我們剛剛安裝的pgsql擴展工具了。
4.在操作界面輸入本地主機,和對應的數據庫名稱,以及用戶名和密碼。點擊測試連接,可以看到此處已經連接成功了。
5.接著我們要在我們項目的entity類庫中添加以下兩個引用npgsql和entityframework6.npgsql。
具體的添加方法--右鍵項目--管理nuget包--輸入名稱下載即可。
在項目中添加相應的實體模型
添加完成之后,我們還要做一步操作就是在app.config中添加如下黑色的配置信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
<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的朋友。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。
原文鏈接:http://www.cnblogs.com/wnxyz8023/p/10255524.html