在C#中利用Nuget包使用SQLite資料庫和Linq to SQLite
本來是學習在VB中使用SQLite資料庫和Linq to SQLite,結果先學習到了在C#中使用SQLite資料庫和Linq to SQLite的方法,寫出來與大家共同學習。(不知道算不算不務正業)
1、建立或開啟一個C#專案,如果是新建的專案則需要先儲存一下,不然無法安裝Nuget包。
2、安裝Nuget的Linq to SQLite包,開啟Nuget包管理器控制檯:
3、在PM>提示符後輸入安裝命令:(電腦要聯網)
Install-Package linq2db.SQLite
4、安裝成功後:
自動添加了依賴項:System.Data.SQLite、linq2db、ling2db.t4models(建立Linq to SQLite的T4模板)
在解決方案資源管理器中添加了幾項:
5、現在就可以使用SQLite資料庫了:
using System.Data.SQLite;
由於對C#程式碼不是太熟悉,就不寫具體的連線方法了。
6、實現Linq to SQLite:
開啟解決方案資源管理器中LinqTODB.Template資料夾中的CopyMe.SQLite.tt.txt檔案:
顯示如下:
7、模板說明的第一步、第二部都不用管,我們直接來做第三部,在Web/app.config檔案中新增資料庫連線:
開啟解決方案的屬性視窗,選擇”設定“,新增一個”connectionStrings“的連線字串,並設定值後儲存:
開啟Web/app.config檔案,修改檔案,在connectionString="Data Source=E:\Address.db3" 後新增providerName="SQLite":
整個配置檔案如下:(其中E:\Address.db3應為你的SQLite資料庫檔案)
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> </configSections> <connectionStrings> <add name="WindowsFormsApplication1.Properties.Settings.connectionStrings" connectionString="Data Source=E:\Address.db3" providerName="SQLite" /> </connectionStrings> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> </configuration>
8、回到CopyMe.SQLite.tt.txt檔案視窗,修改兩個位置後儲存:
第一個位置是資料庫檔案所在的目錄,本例應修改為“E:\”,第二個位置是SQLite資料庫的檔名,本例應為“Address.db3"。(也可以修改NamespaceName來修改為自己的名稱空間)
9、在解決方案資源管理器視窗,右擊CopyMe.SQLite.tt.txt檔案重新命名:"Address.tt",檔名隨便起,後面的.txt去掉,得到模板檔案:
出現詢問是否執行模板檔案視窗:
確定後在解決方案資源管理器視窗多出了Linq to SQLite類:
10、現在可以在你的程式碼中執行Linq To SQLite了:
private void Form1_Load(object sender, EventArgs e) { var db=new DataModel.addressDB; var temp= from c in db.AddressDistricts select c; foreach (var c in temp) Console.WriteLine(c.DistrictName ); }
悲劇啊,vb中什麼時候能實現啊。
題後話:Nuget的Linq TO SQLite包十分的強大,不僅實現了Linq對SQLite資料庫的支援,同時還實現了Linq 對Access、DB2、Firebird、Oracle等11種資料庫的支援。