2021-09-07 09:05 PM 0 4,356
前陣子學會用 Polly TimeoutPolicy 限制執行時間的技巧,套用在某 EF 資料查詢服務,不料沒通過自動測試。用 DbSet<T>.ToList() 查詢全部只有一筆的資料表,卻觸發 Polly 5 秒 Timeout 上限,依直覺查詢本機資料庫再怎麼慢頂多幾百 ms,更甭...
2020-07-15 09:05 PM 1 3,862
EF Core Migration 可依據 Entity 類別針對不同資料庫(MSSQL、SQLite、Oracle、MySQL...)產生對映的 CREATE TABLE Script,能自動連上資料庫伺服器建好資料表,Entity 修改時還能生出增減修改欄位 ALTER Script (但有一些...
2020-04-04 05:52 AM 2 7,040
想用單元測試專案單獨測試 ASP.NET Core 裡的 EF Core DbContext,一時間傻住不知如何下手,就知道又有基本功要練了。ASP.NET Core 重度依賴 DI,網站專案如要使用 EF Core DbContext 物件需在 Controller 或 Service 建構式新增...
2020-01-30 08:46 PM 3 9,747
EF Core 是 ASP.NET Core 官方推薦的資料庫存取方式。雖然在 ASP.NET Core 裡,你還是可以沿用古法,自己開 SqlConnection,自己寫 T-SQL 透過 SqlCommand、SqlParameter 讀寫資料庫,沒什麼不行。但以下 Visual Studio ...
2020-01-29 09:31 PM 7 10,200
本系列文章打算用一個簡單的案例,展示如何用 Visual Studio 2019 專案範本快速做出一個可以新增修改刪除 SQL 資料的 ASP.NET Core Razor Page 網站,就像傻瓜相機一樣容易上手。(OS: 該不會現在的小朋友已不知傻瓜相機是什麼,結果看不懂比喻) 假想的需求情境像...
2020-01-27 04:01 PM 0 8,443
大家新年好,鼠年大吉。 今年過年比較怠惰,拖到初三才開始寫 Code。起了個迷你 Side-Project 計劃寫個網頁版「一二級保養檢核表」自用,最重要的目的是想熟悉 Razor Page。資料庫部分準備用 EF Core + SQLite,照著先前寫的 EF Core 筆記要產生資料表 Scri...
2019-09-22 12:31 PM 2 5,841
目前為止,筆記裡示範 EF Core Code First 都是先 dotnet ef migrations add InitialCreate 自動產生對映 Model 所需的資料表結構類別, 再透過 dotnet ef database update 帥氣地直接連上資料庫建立或更新資料表、Ind...
2019-09-21 10:26 AM 7 10,081
前幾篇筆記提到 EF Core 主打 Code First 概念,講求先定義 Model 再自動產生資料表 Schema 的運作模式。 熟悉傳統資料庫程式開發方式的老鳥們看完猛搖頭:為什麼把事情搞到這麼複雜? 先定義 Schema 文件直接決定關聯建好資料庫,開發者照著規格寫程式不是比較簡單明瞭? ...
2019-09-14 11:08 AM 7 13,333
Entity 間的關聯設計是 EF 應用的另一項重點。 Entity 關聯 先說一對多。以 Blog、Post 為例,關聯為一個 Blog 有很多篇 Post。 public class Blog { public int BlogId { get; set; } //Primary Ke...
2019-09-08 03:17 PM 6 19,849
Model 是 Entity Framework 運作的核心,EF Core 提供兩種建立 Model 做法:Code First 或逆向工程。 前者從程式需求出發設計及修改 Model,經由 Migration 機制生成建立及修改資料庫 Schema 指令,將資料庫變成我們想要的形狀。 逆向工程較...
2019-09-01 09:13 AM 5 33,776
學習 ASP.NET Core 的過程發現 Entity Framework Core 已成基本技能,應用廣泛,像 ASP.NET Core Identity 就少不了它,不懂點觀念很難在江湖走跳。 這系列筆記是這陣子的爬文心得整理,目的在涵蓋基本觀念與術語,細節部分則需參考相關文件或教學。 【參考...
2019-04-15 10:47 PM 2 4,673
臨下班接到通報,有段 Entity Framework 4 的老程式被偵測出有 SQL Injection 漏洞: var res = ctx.ExecuteStoreQuery<Player>( "SELECT * FROM Player WHERE UserName...
2017-05-08 07:29 AM 11 51,233
前陣子在網路看到「該靠 EF(LINQ)還是自幹 SQL 語法(甚至一律轉成 SP)」 的討論,我的「個人偏好」挺明確-CRUD 可靠 EF/ORM 省工,複雜查詢或操作則走 Dapper 自己寫 SQL。不過它只算是「偏好」,其效益因客觀條件劇烈變動,若無視開發者背景、人力資源配置、系統需求等...
2015-11-28 03:12 PM 0 15,960
依一般資安準則,在設定檔使用明碼儲存連線字串是不被允許的,連線字串加密是基本要求。 雖然用反組譯.NET組件破解加密字串不是什麼難事,但駭客至少得先找到檔案拿到組件檔(DLL)才能動手,相較之下明碼連線字串就簡單多了,用關鍵字掃掃硬碟、備份媒體就能抓出一大把,不費吹灰之力蒐集到資料庫帳號密碼,...
2015-11-20 07:11 AM 0 5,828
註:閱讀本文章前有個先修課程,需知道.NET DateTimeKind如何影響Json.NET序列化結果,不熟悉的同學可以看補充教材、補充教材2 依先前研究心得:將JsonSerializerSettings指定DateTimeZoneHandling.Utc可以避免DateTimeKind.L...
2015-11-19 06:30 AM 0 10,790
考慮以下DataHelper靜態型別,有AddWorkItem及AddDataGroup兩個方法透過Entity Framework新増資料: public class DataHelper { //使用統一的靜態函式建立DbContext物件,避免自行建構 ...