昨天將新增、編輯以及讀取寫好了,今天就來將刪除做好,以及將欄位名稱 DisplayAttribute 都加好。
寫到現在,對 Repository 的撰寫應該是越來越熟了,很快就可以將 Code 寫出來:

點選到 Delete 頁面,傳入 Event 的 ID,並用 ID 先從 Repository 撈出 Event 資料,並回傳到 View,但因為 View 目前使用的型別為 EventsDeleteViewModel,所以需要使用 AutoMapper Mapping 與轉型:
先使用 AutoMapper 將 EventsDeleteViewModel Mapping 到 Events,並傳到 Repository 的 DeleteEventAsync():
至今建立了許多 ViewModel,總不可能一個一個將 DisplayAttribute 加到每一個 ViewModel 中吧,於是拜請了 Google 大神,發現 Stack Overflow 找到這篇文,方法為建立一個 BaseViewModel,並將欄位都放進去且加上 DisplayAttribute,然後原本做好的 ViewModel 都去繼承它:
BaseViewModel:
EventsDeleteViewModel:
因為 EventsBaseViewModel 基本上就是所有的 Events Model Property,所以 EventsDeleteViewModel 都需要註解,否則 EventsDeleteViewModel 會覆蓋掉 EventsBaseViewModel 的 Code(連同 Attribute),修改後來看看 Delete 頁面:

欄位名稱一次解決!
今天總算將 CRUD 的功能都寫好了!喔不,其實還有一個圖片上傳沒有做到。不過這就是明天的內容了!
自己也在今天終於知道要如何設定一次 Attribute 就讓所有 ViewModel 都套用到,這在以前是不知道的!學到新的東西就好開心~?
那麼就明天見囉
MVC 4 Data Annotations "Display" Attribute