如果我有一個代表大量數據的複雜模型,並且我只希望顯示該模型的精簡版本(例如Name,Description),那麼MVVM中的最佳方法是什麼?Model或ViewModel何時代表MVVM中的數據子集?
我能找到的大多數解決方案似乎都假定數據已經存在於內存中,並推薦使用僅公開所需字段的新ViewModel。
但是,不是從數據庫中選出所有數據,而是選擇恰當的選擇。然後,我創建一個新模型來保存這些數據嗎?直接選擇ViewModel是可能的,但感覺是錯誤的。同樣,使用新模型來表示不同版本的相同數據也會有某種感覺。
這樣做的接受方法是什麼?
舉一個簡單的例子(簡單夠班,我通常不會這麼做):
public class User {
public int UserID {get;set;}
public string FirstName
public string LastName
public int AccessLevelID
public List<Groups> UserGroups
}
但我只真正需要:
public class PreviewUser {
int UserID
string FirstName
}
老實說,沒有看到選擇視圖模型的問題。 –
我擔心的是,它會變得與其父母模特班分開。對父項的更改不一定會反映在ViewModel中。但我認爲裁員模式也是如此。 –