Есть ли какие-либо существенные недостатки прямого доступа к 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

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