Привязка моделей Entity Framework Core к методу действия в контроллере ASP.NET CoreC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Привязка моделей Entity Framework Core к методу действия в контроллере ASP.NET Core

Сообщение Anonymous »


У меня есть контроллер ASP.NET Core с несколькими методами действий. Каждый метод действия имеет параметр пути {id} и почти при каждом запросе выполняет следующие действия:

[HttpPost("action1/{id}")] общедоступная асинхронная задача Action1Async (int id) { модель вар = ждут _dbService.FindModelAsync(id); // Ядро Entity Framework если (модель равна нулю) { вернуть NotFound(); } // фактический код действия1 } [HttpPost("action2/{id}")] общедоступная асинхронная задача Action2Async (int id) { модель вар = ждут _dbService.FindModelAsync(id); // Ядро Entity Framework если (модель равна нулю) { вернуть NotFound(); } // фактический код для действия2 } [HttpPost("action3/{id}")] общедоступная асинхронная задача Action3Async (int id) { модель вар = ждут _dbService.FindModelAsync(id); // Ядро Entity Framework если (модель равна нулю) { вернуть NotFound(); } // фактический код действия3 } Как видите, все действия выполняют один и тот же первый шаг: извлекают модель из DbService, возвращают ошибку 404, если модель не найдена, и выполняют определенную логику в противном случае.< /п> Для меня этот код очень повторяющийся. По сути, моя единственная цель заключается в следующем:
[*]Получить модель по идентификатору [*]Если модель не найдена, не входите в контроллер и не возвращайте ошибку 404. [*]В противном случае войдите в контроллер, укажите полученную модель и выполните определенную логику.
Мне бы хотелось что-то вроде этого:

// это не будет выполнено, если модель не найдена. [HttpPost("action1/{id}")] общедоступная асинхронная задача Action1Async (модель модели) { // фактический код действия1 } В настоящее время я изучаю фильтры/промежуточное программное обеспечение для этого, но кажется, что они используются только для проверки, а не для инициализации данных и передачи их действию контроллера, но я готов изучить все подходы.
>
Возможно ли то, что я хочу? Можем ли мы привязать модели Entity Framework Core непосредственно к параметрам действий контроллера?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»