在之前的教程中,我們已經完成了學校的資料模型。現在我們將讀取和顯示相關資料,請理解ef載入導航屬性的方式。
一、lazy、eager、explicit資料載入
使用ef為實體中的導航屬性載入相關資料,有下面幾種方法。
1.lazy loading
當實體第一次讀取時,相關資料並沒有獲得。然而當你第一次想要訪問導航屬性時,導航屬性的相關資料會自動獲得。這產生了多次訪問資料庫,一次是實體資料讀取,一次是導航屬性讀取。
當實體讀取時,相關資料也一起讀取,使用include方法實現。這是通過join資料表,查詢獲取需要的資料。
當你訪問導航屬性時,相關資料不會自動獲取。你需要在**中顯式獲取相關資料。
lazying loading和explicit loading都稱為延遲載入。
4.討論
哪個方法效能最好?
lazy loading 和 serialization不相容,如果需要關閉lazy loading,可以使用下面兩個方法:
(1)導航屬性宣告時,去掉virtual;
(2)在context類的建構函式中,加上下面的**。
this.configuration.lazyloadingenabled = false;二、建立課程頁面
1.小手動起來,生成這個頁面
2.做一些改動
(1)將@html.actionlink(
(4)顯示老師相關的課程
在views\instructor\index.cshtml檔案中新增**。
(5)顯示某老師教的某課程的選修情況
在views\instructor\index.cshtml頁面中新增**
四、顯式資料載入
public actionresult index(int? id, int?courseid)if (courseid != null
)
viewmodel.enrollments =
selectedcourse.enrollments;
}return
view(viewmodel);
}
大學校園知識庫axure
1 授課 張思鵬sunnyact 泉舟時代創新創業中心 3 參考資料 產品經理 產品運營精華乾貨 泉舟時代智庫分享 prd製作全過程示例 axure製作prd sunlifestory 水利知識庫 企業知識庫 ai助手 人工智慧機械人知識庫產品與解決方案 html 1 106 152 198 106...
大學校園生活36條感悟
一.別以為在學生會你能得到你曾經想要的。工作的熱情很可能因為你所看到的所經歷的一些事而改變,但是也不必懼怕。你有大一一年來適應或者承受,並做出是繼續堅持還是退出的決定。二,大學可能有真實的愛情,但是記住只是可能。很多時候他們是因為別人都談戀愛而羨慕或者別的原因而在一起。所以,不必為任何分手而受太大的...
我的大學校園 廣東醫學院
廣東醫學院建立於 1958 年,其前身是中山醫學院湛江分院。1964 年,經 批准,更名為湛江醫學院。1992 年,易名為廣東醫學院。從 八五 計畫開始,連續三個五年進入省重點建設院校行列。1991 年獲廣東省辦學水平評估一等獎,2005 年被教育部評定為本科教學水平優秀院校,現已成為廣東省高素質醫...