C#使用EF連接PGSql數(shù)據(jù)庫的完整步驟
前言
由于項目需要,使用到了PGSql數(shù)據(jù)庫,說實話這是第一次接觸并且聽說PGSql(PostgreSQL)關系型數(shù)據(jù)庫,之前一直使用的都是SqlServer,一頭霧水的各種找資源,終于將PGSql與C#的EF連接起來,可以像使用SQLServer一樣使用PGSql了。
PGSql目前有一個pgAdmin4的管理工具,下載之后就可以直接訪問我們的數(shù)據(jù)庫了。
PGAdmin4下載
本地下載
1.為了演示方便,我們新建一個控制臺程序,同時新建一個Entity的類庫,后續(xù)添加實體模型使用。
2.我們點擊工具-->>擴展和更新 -->>安裝PGSql所使用的擴展工具NPGSql PostgreSql Integration擴展工具。
3.安裝完成之后,我們就可以測試連接我們的pgSql數(shù)據(jù)庫了。在工具-->>連接到數(shù)據(jù)庫我們在數(shù)據(jù)源一行點擊更改按鈕,就可以看到我們剛剛安裝的PGsql擴展工具了。
4.在操作界面輸入本地主機,和對應的數(shù)據(jù)庫名稱,以及用戶名和密碼。點擊測試連接,可以看到此處已經(jīng)連接成功了。
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數(shù)據(jù)庫,目前也是個新手小白,遇到不明白的問題也會通過各種資源去解決,希望可以幫助到同樣第一次或者以后可能接觸到PGSql的朋友。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對我們的支持。
上一篇:C#中增強類功能的幾種方式詳解
欄 目:C#教程
下一篇:Unity實現(xiàn)Flappy Bird游戲開發(fā)實戰(zhàn)
本文標題:C#使用EF連接PGSql數(shù)據(jù)庫的完整步驟
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/4968.html
您可能感興趣的文章
- 01-10C#使用Dispose模式實現(xiàn)手動對資源的釋放
- 01-10C#3.0使用EventLog類寫Windows事件日志的方法
- 01-10C#使用windows服務開啟應用程序的方法
- 01-10c# ArrayList的使用方法小總結
- 01-10C#使用ADO.Net部件來訪問Access數(shù)據(jù)庫的方法
- 01-10C#使用Mutex簡單實現(xiàn)程序單實例運行的方法
- 01-10使用Nopcommerce為商城添加滿XX減XX優(yōu)惠券功能
- 01-10C#中yield用法使用說明
- 01-10C#編程和Visual Studio使用技巧(下)
- 01-10C#編程和Visual Studio使用技巧(上)


閱讀排行
本欄相關
- 01-10C#通過反射獲取當前工程中所有窗體并
- 01-10關于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實現(xiàn)txt定位指定行完整實例
- 01-10WinForm實現(xiàn)仿視頻播放器左下角滾動新
- 01-10C#停止線程的方法
- 01-10C#實現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實現(xiàn)讀取注冊表監(jiān)控當前操作系統(tǒng)已
隨機閱讀
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 01-11ajax實現(xiàn)頁面的局部加載
- 04-02jquery與jsp,用jquery
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10delphi制作wav文件的方法
- 01-10C#中split用法實例總結
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10SublimeText編譯C開發(fā)環(huán)境設置