EF 三種載入關聯資料策略:
| 策略 | 語法 | 特點 |
|---|---|---|
| Eager Loading | .Include(s => s.Enrollments) | 單一查詢 JOIN 取回、避免 N+1 問題 |
| Lazy Loading | 虛擬屬性自動觸發 | 預設啟用、存取時查詢、易造成 N+1 |
| Explicit Loading | context.Entry(s).Collection(e => e.Enrollments).Load() | 手動控制、關閉 Lazy Loading 時使用 |
Include(s => s.Enrollments) 顯示選課數Include(i => i.OfficeAssignment).Include(i => i.Courses) 一次取回辦公室與授課依據使用情境選擇策略:清單頁用 Eager、詳情頁按需 Explicit、關閉 Lazy 避免非預期查詢。