Entity Framework (EF) 是 .NET Framework 3.5 SP1 內建的 ORM 框架,旨在讓開發者面向概念模型(Conceptual Model)而非關聯資料庫編程,減少資料存取代碼與維護成本。雖早期版本尚不成熟,但 .NET 4.0 起成為微軟主推資料存取技術,且主流資料庫皆提供 Provider 支援。
EF 優勢
- 以應用為中心的概念模型(支援繼承、複雜類型、關聯)。
- 解除對特定資料庫引擎與儲存架構的硬編碼依賴。
- 映射層可獨立變更,不影響應用程式代碼。
- 一致的物件模型可對應多種儲存架構(跨資料庫)。
- 多概念模型可映射同一儲存架構。
- LINQ 整合提供編譯期語法驗證。
EDM 三層模型與映射檔
- CSDL (.csdl):概念模型定義(實體、關聯、繼承)。
- SSDL (.ssdl):儲存模型定義(資料表、檢視、SP)。
- MSL (.msl):概念與儲存模型映射規範。
EF 透過這些 XML 將實體 CRUD 轉換為資料庫操作,甚至支援將實體映射至存儲過程。
三種查詢方式
- LINQ to Entities:強型別、編譯期驗證、語法友善。
- Entity SQL:無資料庫相依、支援 EDM 完整特性。
- 查詢建構器方法:
ObjectQuery 的鏈式方法(Where、OrderBy 等)。

建議實務專案視團隊熟悉度與專案複雜度評估採用時機。