1.今日完成任務
- 課程資訊的增刪改查
- 課程資訊的格式化顯示
- 增刪改查中的模型驗證
2.核心代碼
- 課程資訊的添加(使用Bootstrap模態框及模型驗證)

接上一篇博客,我們已經對物體類添加了必要的屬性約束,現在就可以進行使用了,想要使用屬性約束,需要用到Html.ValidationMessageFor(m=>m.屬性名),
后臺應該添加2個方法,一個用于顯示添加頁面(讓用戶輸入必要的值);另一個用于處理用戶提交的資料,Post方法可以使用物件來接收用戶傳遞的資料,但用戶提交資料的名字一定要能夠在該物件的屬性中找到,否則該物件將無法接受此資料(可以增加對應的引數名來進行接收),
- 課程資訊的洗掉:課程的洗掉有兩種方式,最常見的應該是:先查詢到指定物件,然后呼叫洗掉,其實,EF框架給我們提供了一種更友好的洗掉:物體狀態,關于物件狀態,其他博主已經講的很詳細了,這里就不再班門弄斧了,推薦大家研究研究,尤其是在大型專案中,可以減少不必要的資料庫操作,

- 課程資訊的查詢及顯示:資料顯示這塊,其實沒太多知識點,可剛剛講到的添加模塊類似,也是使用系統函式進行顯示(Dispaly約束及資料型別約束),針對本系統,我們的課程想要顯示該課程對應的題目總數,我們該怎么辦呢?這里有兩種方式,一個是course.Questions.Count,相信這種方式大家都能想到,但有些資訊并不是這么容易獲取到或者使用太過于頻繁(總不能每次都這么寫吧),經研究發現,我們可以在物體類中添加一個額外屬性即可,謹記,一定要添加[NotMapped],否則就會被寫入資料庫啦

通過這么改造以后,我們就可以光明正大的和其他屬性一樣,直接呼叫Count了,
3.遇到的問題及解決方案
經過改造的物體類,Count只能用于顯示,想要進行資料檢索,還是和其他屬性不太一樣,主要還是我們并沒有把Count屬性寫進資料庫,也就沒辦法直接在EF框架中進行使用,這是不是預示著,Count除了用于顯示,就沒其他用處了呢?哈哈,當然不是的啦,畢竟每個程式員都有一顆不服輸的精神,何況這么技術狂的我呢,經過不斷研究,我發現在Linq to Object中是可以使用這個屬性進行檢索的,下面我就來給大家解密一下吧!
- 首先,我們需要把EF框架轉化為我們的Linq to Object,其實這只需要一個ToList()即可,
- 接著,我們就可以直接使用Count進行檢索了,

4.專案進度規劃(由于最近事情比較多,所以專案基本處于停滯狀態,現在才慢慢走入正軌)

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/89.html
標籤:ASP.NET MVC
