Есть ли какие-либо существенные недостатки прямого доступа к DbContext в представлении Razor (не Blazor)?C#

Место общения программистов C#
Ответить
Anonymous
 Есть ли какие-либо существенные недостатки прямого доступа к DbContext в представлении Razor (не Blazor)?

Сообщение Anonymous »

В веб-приложениях ASP.NET MVC обычно рекомендуется получать данные в контроллерах (независимо от того, должно ли это включать использование DbContext напрямую или через уровень обслуживания, остается предметом обсуждения), а затем передавать соответствующие данные в представление с помощью ViewModel.
Однако есть ли причина, по которой не рекомендуется просто пропускать ViewModel и вызывать DbContext непосредственно в Посмотреть?

Код: Выделить всё

@{
MyDbContext context = new MyDbContext();
}

The number of rows in the hamburger table is @context.Hamburgers.Count()
Конечно, невозможно выполнить обратную запись в DbContext таким способом, но для простых дисплеев, доступных только для чтения, это может быть проще и удобнее сделать, чем писать ViewModels в качестве посредников.
Помимо возможности незначительного увеличения затрат на сопровождение, хотя ViewModels может потребовать еще больше работы, поскольку добавляет еще одну область для изменения — и Если вероятность того, что удаление DbContext может стать проблемой, я не могу придумать каких-либо веских причин (например, соображений безопасности), чтобы избежать этой практики.

Подробнее здесь: https://stackoverflow.com/questions/797 ... in-a-razor
Ответить

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

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

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

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

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