2015年9月4日 星期五

使用Entity Framework存取SQLite

Tool:Visual Studio 2013 Ultimate Update 4 、Entity Framework 6.1.1 tools for visual studio 2013
OS:Windows 8.1
DB:ADO.NET SQLite Data Provider Version 1.0.98.0 - August 19, 2015、EntityFramework 6.0.0

 

本文介紹如何在Visual Studio 2013開發工具中,使用Entity Framework Designer設計資料查詢程式。

 

環境準備:

  • 安裝 Entity Framework 6 Tools for Visual Studio 2012 & 2013 ,下載網址
  • 下載 SQLite ,下載網址

image

安裝sqlite-netFx451-setup-bundle-x86-2013-1.0.98.0.exe,安裝時,記得勾選Visual Studio 整合功能與註冊到GAC。

  • 使用Visual Studio 2013 建立一個專案

image

  • 使用Server Explorer建立一個連線

image

  • 選取資料來源

image

  • 選取System.Data.SQLite Database File

image

  • 選取New,建立一個新資料庫

image

  • 新增一個資料表

image

  • 定義欄位

image

  • 儲存檔案,並將資料表命名為Employee

image

 

  • 新增資料image
  • 輸入幾筆測試資料

image

  • 在專案安裝套件
install-package System.Data.SQLite.EF6 -version 1.0.98.1
  • 新增項目

image

  • 選取ADO.NET Entity Data Model

image

  • 選擇from database

image

  • 選取MyDB

image

  • 勾選資料表

image

  • 工具將會產生edmx檔案

image

  • 在表單中加入按鈕與DataGridView

image

  • 撰寫查詢程式
private void button1_Click( object sender , EventArgs e ) {
  MyDBEntities db = new MyDBEntities( );
  dataGridView1.DataSource = db.Employee.ToList( );
}
  • 修改組態,app.config,新增SQLite Data Provider的組態設定

<system.data>
  <DbProviderFactories>
    <remove invariant="System.Data.SQLite.EF6" />
    <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
    <remove invariant="System.Data.SQLite" />
    <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
  </DbProviderFactories>
</system.data>

  • 執行程式

image

2 則留言:

Luna 提到...

你好,我照著你的方式作,但在選資料來源時SQLite並沒有跑出來@@
我的vs是2015的,請問室還有要調整什麼東西嗎??

米米貓學開發 提到...

裝了vs2015,照理說.net framework應該是4.6版
SQL Lite要改用以下這個版本,
http://system.data.sqlite.org/downloads/1.0.101.0/sqlite-netFx46-setup-bundle-x86-2015-1.0.101.0.exe
這版本我在vs2015 update 3 試過,VS Data Source會出現SQLite選項。

另外,官網可下載新版,但這個版本我試過,安裝時沒有Visual Studio 整合功能可勾選,所以工具還是看不到
sqlite-netFx46-setup-bundle-x64-2015-1.0.102.0.exe

總網頁瀏覽量