如何在資料存取層進行單元測試
安裝 Sqlite
安裝 Nuget 的 Sqlite 套件
1 | Install-Package Microsoft.EntityFrameworkCore.Sqlite |
建立 DbContext
建立 EntityFramework 的 DbContext
1 | public class TestDbContext : DbContext |
使用 In-Memory 模式操作資料庫
使用 Sqlite 的 In-Memory 模式載入 DbContext
1 | SqliteConnection connection = new SqliteConnection("Data Source=:memory:"); |
然後使用 DbContext 的設定建立資料庫
1 | using TestDbContext context = new TestDbContext(options); |
最後可開始使用 EntityFramework 開始操作資料庫
1 | using TestDbContext context = new TestDbContext(options); |
自定義 Database Function
如果有使用 Sqlite 未定義的 Database Function , 可在程式中使用 CreateFunction 定義
1 | SqliteConnection connection = new SqliteConnection("Data Source=:memory:"); |
📜 參考資料