透過EFCore對db做查詢,為了降低門檻採用SQLite當範例資料庫。
同步更新於個人部落格
EFCore範例
選擇ASP.NET Core Web API專案範本,並執行下一步
命名你的專案名稱,並選擇專案要存放的位置。
直接進行下一步
新增Models資料夾,並在裡面新增Student.cs類別檔
public class Student {
public int Id { get; set; }
public string Name { get; set; } = "BillHuang";
public int Age { get; set; }
}
新增DBContext資料夾,並在裡面新增EFCoreContext.cs類別檔
//別忘了using
using Microsoft.EntityFrameworkCore;
using EFCoreExample.Models;
namespace EFCoreExample.DBContext {
//繼承DbContext
public class EFCoreContext : DbContext {
//複寫OnConfiguring
protected override void OnConfiguring(DbContextOptionsBuilder options) {
//指定連線字串,連到SQLite
options.UseSqlite("Data Source=Student.sqlite");
}
//設定student資料表
public DbSet<Student> Students { get; set; }
}
}
//別忘了using
using EFCoreExample.DBContext;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
//註冊EFCoreContext
builder.Services.AddDbContext<EFCoreContext>();
//下面省略
檢視>其他視窗>套件管理器主控台
下方會出現命令列
輸入dir
會顯示目錄檔案及子目錄清單
輸入cd EFCoreExample
移動到專案檔底下後再輸入dir
確認是否到正確路徑
輸入dotnet tool install --global dotnet-ef
在全域安裝EFCore CLI工具(如果已經安裝,會出現下圖訊息,即可忽略此步驟)
輸入dotnet ef migrations add CreateInitial
初始化SQLite
輸入dotnet ef database update
更新SQLite資料表
成功就會自動產生Migrations資料夾
將EFCoreContext注入WeatherForecastController.cs
//
[HttpGet("InsertAsync")]
public async Task<IActionResult> InsertAsync() {
//新增一筆資料
var data = new Student() { Name = "BillHuang", Age = 20 };
//加到Students這張table內
_context.Students.Add(data);
//執行,並回傳成功數量
return Ok(await _context.SaveChangesAsync());
}
F5執行後,依照下列步驟操作,並確認結果