我們前幾天的專案中的ProductList
是寫在程式之中
每當我們關閉我們的程式
我們在ProductList中的新增修改刪除
通通會不見!!!
這是因為我們程式實際上開啟時會放在記憶體(RAM)之中
當程式關閉之後
系統會自動釋放記憶體
因此ProductList就消失不見了QQ
為了保存我們的資料
我們可以將我們的ProductList寫到資料庫中
ORM 全名為 Object Relational Mapping
他一種能將資料庫的內容映射到物件
相對比過去在操作關聯式資料庫
大多都是透過所謂的SQL(結構化查詢語言)
對資料庫進行CRUD等等動作
但是透過ORM框架
你能夠不用學習任何SQL(可以的話還是學一下拉)
只要用我們熟悉的程式碼
就能對資料庫進行操作
本篇所要介紹的是Entity Framework Core
我會根據官方文件來安裝sqlite
我們打開專案
點選工具->Nuget套件管理員->套件管理員主控台
點開之後會看見下面紅框
我們輸入
Install-Package Microsoft.EntityFrameworkCore.Sqlite
可以看見幫我們裝了EFCore
接著再輸入
Install-Package Microsoft.EntityFrameworkCore.Tools
接著我們新增一個資料夾Context
並在裡面新增一個ProductContext.cs的檔案
在裡面輸入以下程式碼
記得引用命名空間
ProductContext.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using MyFirstApi.Model;
namespace MyFirstApi
{
public class ProductContext: DbContext
{
public DbSet<Product> Products { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder options)
=> options.UseSqlite("Data Source=Product.db");
}
}
這邊DbSet<Prroduct>指的是資料庫的欄位是由Product Model為基準所建置
Products為你資料庫的Table Name
我們一樣開啟套件主控台
輸入Add-Migration InitialCreate
完成後可以看見系統幫你產生了一個資料夾
裡面有兩份程式碼
這份程式碼能幫助你做資料庫的版本控制
所有新增修改刪除欄位都能在這份表一覽無疑
可以使用指令Remove-Migration
來復原本次遷移
最後我們輸入Update-Database
可以看見資料庫被加到方案總管中
如果要檢視sqlite可以安裝https://sqlitebrowser.org/dl/
安裝完後打開
選擇打開資料庫
找到你的專案資料夾中的資料庫
可以在其中看見資料庫結構跟資料內容
關於怎麼操作EF CORE的CRUD
本來今天要講
但是不知道是不是星期六還要上班
頭整個很痛
瞇了一下還是先把文章打完了
CRUD就留到明天吧