一步一步教你用c# entity framework6 連接 sqlite 實現增刪改查


 

 

 

使用entity framework6 連接 SQLite 數據庫

前言

很多小型應用程序中,都要使用數據庫,而現在比較流行的本地數據庫非SQLite莫屬。

第一步:前期准備

開發環境:vs2015 + sqlite-netFx46-setup-bundle-x86-2015-1.0.106.0.exe

注:sqlite-netFx46-setup-bundle-x86-2015-1.0.106.0.exe 為vs2015添加設計時組件,詳情請見:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki   (見下圖說明)

安裝sqlite-netFx46-setup-bundle-x86-2015-1.0.106.0.exe,請勾選“Install the assemblies into the global assembly cache” 和“Install the designer components for Visual Studio 2015” 等兩項。如果你的開發環境不是 vs2015,是2012 或2013,請下載相應的版本,vs2017沒有設計時組件,預計明年一月份會出來。見官網說明:http://system.data.sqlite.org/index.html/doc/trunk/www/news.wiki 。里面有一條關於設計時組件的說明,http://system.data.sqlite.org/index.html/info/8292431f51 ,這個里面解釋了為什么沒有為vs2017做設計時組件。

sqlite-netFx46-setup-bundle-x86-2015-1.0.106.0.exe安裝截圖:

   

第二步:搭建項目

項目名稱:SqliteEfTest

搭建步驟

1.創建SqliteEfTest的winform程序 (我選擇的是4.0的,選4.0以上的應該也沒有問題)

 

 

2.在程序中添加一個文件,DataBase.db(由於Sqlite是文件型數據庫,所以我直接創建了一個DataBase.text,然后修改后綴名為.db即可)

打開項目所在目錄,直接在根目錄處添加DataBase.text,然后修改后綴名為DataBase.db

3.添加DataBase.txt,然后修改后綴名,文件變為:DataBase.db

 

 

4.點擊顯示所有文件,將DataBase.db文件包含到項目中

 

 

5.修改DataBase.db文件屬性,使其在生成時,能夠復制到bin文件夾中

 

 

設置完DataBase.db的相關屬性后,F6生成,F5運行后,你會發現,DataBase.db文件被復制到bin文件夾中(之所以要復制到bin文件夾中,和讀取本地數據庫有關系,同時,和數據庫鏈接字符串也有關系,因為程序安裝路徑是隨意的,你讀取數據庫的最簡單辦法就是讀取程序當前路徑)

 

 

6.安裝SQLite相關依賴包:工具-->NuGet管理器-->管理解決方案的NuGet程序包,搜索sqlite,安裝

7.連接數據庫創建表,給數據庫DataBase.db創建相關表,我使用的Navicat for SQLite來創建表的

測試連接成功,開始創建一張表

     

 

 

 

 

 

 

9.關閉當前Navicat連接,通過ADO.net,連接當前設計時數據庫,自動生成ORM的相關代碼吧!

     

   

 

 

點擊“完成”按鈕,等待代碼自動生成

 

10.修改App.config文件的連接字符串:去掉紅色標記部分,只留下DataBase.db

 

 

11.下面寫增刪改查的相關業務邏輯,見打包上傳的代碼吧!

運行結果:

 

 

 

 

12.比對設計時數據庫和運行時數據庫的差異:添加運行時數據庫(bin文件夾下面的),用Navicat 再對bin文件夾下面的DataBase.db建立連接

 

 

 

 

 

說明:

設計時表中的數據在F5后,並沒有變化,但是運行時里面的 數據發生了改變,這就是修改 App.config連接字符串路徑導致的。而設計時里面的數據是我未修改 連接字符串前插入的數據。先修改,再運行,是不會對設計時的表產生影響。

 

源碼:

附上源代碼:源代碼(百度網盤下載)SqliteEfTest.zip

鏈接:http://pan.baidu.com/s/1ge4zGQn 密碼:ugg2

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM