如果我有一个数据库,并且我将所有模型都基于数据库(使用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) –