2016-11-26 74 views
1

如果我有一個數據庫,並且我將所有模型都基於數據庫(使用LINQ基本上可以獲取/設置數據)。是否有可能只使用這些模型的一部分來創建我的觀點?假設我在表中有三個圓柱,而我​​只需要兩個用於我的視圖,我可以簡單地使用三個中的兩個使用我的數據庫模型,還是應該創建一個新的模型用於我的視圖。MVC 5可能只使用視圖的一部分模型?

如果我必須創建新模型,任何簡單的方法來做到這一點?我使用Visual Studio 2015年

謝謝

+0

[MVC中的ViewModel是什麼?](http://stackoverflow.com/questions/11064316/what-is-viewmodel-in-mvc) –

回答

1

是很常見的創建視圖模型在視圖中把數據時,表示您的域模型的一個切片。

例如,您可能有一個BookViewModel和一個BookEditModel。您可以根據型號顯示和允許編輯不同的字段。

class BookViewModel 
{ 
    [ReadOnly] 
    public string ISBN { get; set;} 
    [ReadOnly] 
    public string Title { get; set;} 
    [ReadOnly] 
    public string Author { get; set;} 
} 

class BookEditModel 
{ 
    [ReadOnly] 
    public string ISBN { get; set;} 
    [Validate(...)] 
    public string Title { get; set;} 
    [Validate(...)] 
    public string Author { get; set;} 
    [ReadOnly] 
    public DateTime LastUpdated {get;set;} 
} 

如果你正在尋找到一個簡單的方法來創建這些視圖模型,有一個叫做AutoMapper工具,讓您可以輕鬆地域和視圖模型之間的映射。

+0

所以基本上我應該創建新的視圖模型,對嗎? – user3117628

+0

是 - 正確! – axlj

+0

好的,謝謝! :)當我能夠時,我會接受。 – user3117628

相關問題