Как использовать ViewModel в веб-приложении Razor Pages - PullRequest
0 голосов
/ 30 июня 2019

У меня есть класс Models ProjectDepo, который определяет 3 дюжины свойств. Это создало таблицу в БД с этими полями. Я использовал Scaffolding для создания страниц iCRUD Razor. Все поля там правильно и правильно заполняют таблицу базы данных.

Я хочу создать каркас iCRUD только из некоторых из этих полей / свойств и отфильтровать результаты. Я бы использовал ViewModel, выбирая только эти конкретные свойства и запрашивая, чтобы отфильтровать мои результаты, чтобы основывать свои леса на.

Когда я создал свой класс ViewModel, как мне указать, к какому классу Model относятся эти свойства? Где можно добавить оператор SQL для фильтрации результатов?

Я искал, но не нашел правильных терминов. Все о привязке ViewModel к View, я пытаюсь получить данные к ViewModel.

Спасибо за любую помощь. Патрон

(Это весь мой класс ViewModel, сокращенно)

public class RequestReporterViewModel

{
    //All fields are from ProjectDepo class
    public int Id { get; set; }  
    public string OrderingPOCName { get; set; }...
}

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

(Во-первых, я получил уведомление о том, что кому-то НЕ понравилось то, что я решил НЕ использовать заглавные буквы "sql"; что я использовал круглые скобки, имел лишние пробелы и перечислил класс в своем вопросе. АБСОЛЮТНО, ни один из которых не сделал мой вопрос более легким или более Трудно понять. «Предложенные» и «одобренные» изменения не помогли ответить на вопрос ВСЕ. Они не предоставили решения, не сделали вопрос более ясным - они ТОЛЬКО сделали вопрос соответствующим формату подсказок.) (// конец разговора)

В любом случае, этот вопрос можно закрыть, так как я искал способ справиться с этой ViewModel БЕЗ создания контроллера.

Я продолжу поиск ответа, используя другие критерии поиска в других местах.

спасибо всем, кто нашел время, чтобы прочитать мой вопрос, это ценится.

Патрон

0 голосов
/ 03 июля 2019

Если вы хотите отобразить привязанные свойства из вида в модель, вы можете использовать AutoMapper , AutoMapper - лучший метод для этого состояния.

для вашего примера:

Mapper.Map(RequestReporter, RequestReporterViewModel, typeof(RequestReporter), typeof(RequestReporterViewModel));
...