2016-11-26 3 views
1

Если у меня есть база данных, и я основываю все свои модели на базе данных (используя LINQ в основном для извлечения/установки данных). Возможно ли использовать только часть этих моделей для создания моих представлений? Скажем, у меня три таблицы в таблице, и мне нужно только два для моего представления, могу ли я просто использовать два из трех, используя мою модель базы данных, или мне нужно создать новую модель для использования в моих представлениях.MVC 5 можно использовать только часть модели для просмотра?

И если мне нужно создавать новые модели, любой простой способ сделать это? Я использую Visual Studio 2015.

Спасибо

+0

[Что такое ViewModel в MVC?] (Http://stackoverflow.com/questions/11064316/what-is-viewmodel-in-mvc) –

ответ

1

Обычно для создания View Модели представляет срез модели домена при вводе данных в представлении.

Например, у вас могут быть 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

Смежные вопросы