如果我有一個數據庫,並且我將所有模型都基於數據庫(使用LINQ基本上可以獲取/設置數據)。是否有可能只使用這些模型的一部分來創建我的觀點?假設我在表中有三個圓柱,而我只需要兩個用於我的視圖,我可以簡單地使用三個中的兩個使用我的數據庫模型,還是應該創建一個新的模型用於我的視圖。MVC 5可能只使用視圖的一部分模型?
如果我必須創建新模型,任何簡單的方法來做到這一點?我使用Visual Studio 2015年
謝謝
如果我有一個數據庫,並且我將所有模型都基於數據庫(使用LINQ基本上可以獲取/設置數據)。是否有可能只使用這些模型的一部分來創建我的觀點?假設我在表中有三個圓柱,而我只需要兩個用於我的視圖,我可以簡單地使用三個中的兩個使用我的數據庫模型,還是應該創建一個新的模型用於我的視圖。MVC 5可能只使用視圖的一部分模型?
如果我必須創建新模型,任何簡單的方法來做到這一點?我使用Visual Studio 2015年
謝謝
是很常見的創建視圖模型在視圖中把數據時,表示您的域模型的一個切片。
例如,您可能有一個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工具,讓您可以輕鬆地域和視圖模型之間的映射。
[MVC中的ViewModel是什麼?](http://stackoverflow.com/questions/11064316/what-is-viewmodel-in-mvc) –