我有這個問題,在過去的幾個小時裏一直在bug我。MVC2,在各種視圖中使用相同的EF實體
讓我們假設我有這個註冊表格,我需要填滿它,所有的propertieshave RequiredAttribute標籤,型號被命名爲「用戶」一EF實體。
我有這個第二個編輯帳戶詳細信息表單,此時不再需要特定的字段(「用戶名」),因爲我已經擁有了它,用戶不需要再次填寫並且事實上它會顯示在編輯窗體上。
問題: 發佈第二編輯表單時,顯然我是stucked與用戶名RequiredAttribute標籤。
我只想通過添加一個「綁定」屬性以解決這一「排除」選項,但是,這是我當前的模型:
public class AccountDetailsModel
{
public User user { get; set; }
public string NEWPASSWORD1 { get; set; } // new password
public string NEWPASSWORD2 { get; set; } // new password comparison
}
,只是看起來像綁定屬性與排除選項犯規處理複雜模型類型。我無法得到它在這種情況下工作。
林卡住,抓我的頭,現在很長一段時間......
我怎麼能解決這個?
我只想在兩個不同的視圖上重複使用我的EF實體(用戶)及其DataAnnotations。
在此先感謝。
我試圖避免重寫與basicaly相同的驗證相同的屬性,這是做到這一點的最佳方式?不能重新使用它?繼承或類似的東西? – Brizio 2010-11-07 18:07:53
不,不要對視圖模型使用繼承,也不要使用它們不相同的屬性。驗證邏輯是不同的。在一些觀點中,一些屬性是需要的,而另一些則不是。當然,你將不得不重複一些屬性,但這不是問題。儘管你可以在視圖模型之間使用繼承。 – 2010-11-07 18:09:34
我會檢查一下AutoMapper,謝謝。 – Brizio 2010-11-07 18:09:55