公司的資料庫有很多功能用到了分表分庫,根據條件,決定要連哪一台資料庫,用哪一張資料表,概念上很簡單,花了一點時間研究,EF Core 的寫法。
EF Core + Cursor-based pagination 的寫法
我們都知道,可以透過分頁技巧,將大量資料切成小部分回傳給調用端,常見的技巧就是 Offset-based 以及 Cursor-based,我將使用 EF Core + Postgresql 實作分頁
下圖出自:A deep dive into cursor-based pagination in MongoDB (engage.so)
如何使用 ChangeTracking 追蹤物件變化再透過 EF Core 存到資料庫
- 906
- 0
- Change Tracking
- 2023-06-09
上一篇提到了 ChangeTracking + EFCore.BulkExtensions.BatchUpdate,可以很輕易的幫我們產生出有異動的 Update SQL 語法,如何使用 ChangeTracking 追蹤物件變化再透過 EFCore.BulkExtensions 存到資料庫
很可惜的是 EFCore.BulkExtensions.BatchUpdate 沒有支援異動多張資料表,對於資料庫命令的往返會隨著異動的資料表而增加,這次我想要改使用 EF Core 原生的異動追蹤。
追蹤異動變化使用 ChangeTracking ,消化異動並存放到操作資料庫則使用 EF / EF Core,當然,這不受限,你可以挑選妳喜歡的控制方式,接著,來看看怎麼實現它吧。
如何使用 ChangeTracking 追蹤物件變化再透過 EFCore.BulkExtensions 存到資料庫
- 543
- 0
- Change Tracking
- 2022-03-30
當我們需要異動資料庫某一筆資料的某些欄位,可以通過追蹤機制來記錄那些欄位被改變了,除了自己開發之外,還可以考慮 ChangeTracking,它是一套可以輕易的幫我們追蹤物件、集合的利器,不過,有一點可惜的是他最後一次更新是在 2019
接下來,我想要利用這個追蹤機制幫我完成資料表的部分更新,有異動的欄位才更新。
追蹤異動變化使用 ChangeTracking ,消化異動並存放到操作資料庫則使用 EF / EF Core,當然,這不受限,你可以挑選妳喜歡的控制方式,接著,來看看怎麼實現它吧。
[EF Core][SQLite]如何使用 EF Core DbContext 以 Microsoft.EntityFrameworkCore.Sqlite 為例
- 4985
- 0
- Entity Framework Core
- 2021-07-13
.NET Core 1.0 開始為了跨平台重新改寫了 SQLite,名為 Microsoft.Data.Sqlite,刪除了過時的 DataTable 和 DataAdapter 相關的 DataSet API,這已經和之前的 System.Data.SQLite 不一樣,但團隊還是盡量讓它們兩者的 API 變化降到最低。這裡有官方的比較說明文件 與System.Data.SQLite的比較-Microsoft.Data.Sqlite | 微軟文檔
[EF Core 5][UnitTest]在 EF Core 使用 In-Memory 降低建立測試替身的成本
當我們要針對商業邏輯測試時,可能需要隔離 EFCore DbContext,搭配 Mock Framework 可以快速地建立測試替身假的 DbContext,自從 EF Core 的 In-Memory 出現之後,建立 DbContext 測試替身這件事,就變得輕鬆許多了
EF Core / EF 新增資料後回傳 IDENTITY 欄位結果
- 2430
- 0
- Entity Framework Core
- 2021-04-16
有天跟同事結對開發的時候,發現 EF6 新增後,會多一個 IDENTITY 欄位的查詢,經研究後發現這個是 EF 6 的特性,觀察了一下 EF Core 也有相同的特性
[EF Core 3] 如何使用 Code First 定義資料庫結構
- 6220
- 0
- Entity Framework Core
- 2021-04-16
EF Core 的 Code First 設定跟以往有些差異,多了些不錯的功能,也有功能被拔掉了,紀錄一下使用的方式
[EF Core 3] 如何使用 Code First 的 Migration
- 17755
- 0
- Entity Framework Core
- 2022-03-31
Code First 的 Migration 指令很簡單,在使用那些命令時,有時候成功,有時候失敗,不知道為什麼,有這種困擾的人,繼續往下閱讀
[EF Core 3] 安裝 EF Core 3
- 2736
- 0
- Entity Framework Core
- 2021-12-13
EF Core 跟 EF 6 的安裝方式有很大的不同,記錄一下安裝步驟
- 1