我們將所有DataAnnotations放在我們的Model類Customer上。然後,我們將Customer的一個實例作爲相關ViewModel的一個屬性以及一些針對Countries的查找列表,並在View中顯示。迄今爲止都是很好的。將DataAnnotation屬性應用於Model Model中的ViewModel
然後,我們閱讀SO和其他消息來源,我們不應該將我們的整個Customer模型對象傳遞給View,原因是僅僅爲View提供最低限度的需求,更重要的是(爲了我們) ModelBinding可能存在的惡意回發可能會導致問題,這些回發會添加其他信息來更改我們的模型屬性,否則這些屬性在視圖中不可用。
我們如何從模型對象中獲取所有這些DataAnnotation屬性,並將可能減少的ViewModel屬性放在懸崖上而不會將DRY原理拋出?
此外,我們是否認爲我們不應該使用TryUpdateModel來對付我們從數據庫中提取的實體?我想我們的選擇是使用TryUpdateModel並傳遞一個排除列表的屬性,這對我來說看起來並不是那麼優雅,因爲列表只是一個字符串類型的參數。或者,也許我們應該廢除TryUpdateModel並使用類型更安全的AutoMapper之類的工具?
感謝您對這些問題的任何想法。