Мне интересно, что быстрее. Должен ли я хранить информацию, которую я запрашивал из БД, в ViewBag, а затем обращаться к ней и отображать ее в View, или я должен сделать запрос непосредственно в View.
Контроллер - это средний уровень в MVC, поэтому мне кажется логичным, что доступ к БД в контроллере должен быть быстрее.
Пример:
1) В контроллере я получаю доступ к БД и помещаю информацию в ViewBag, чтобы я мог отобразить ее в View.
Контроллер:
EVENT e = db.EVENT.Find(id);
ViewBag.event = e;
if (e.poster_id != null)
{
poster = e.DATA.path;
}
ViewBag.dict_poster = poster;
вид:
<p>POSTER: @ViewBag.dict_poster;</p>
2) В Контроллере я помещаю только общие данные из БД в ViewBag и обращаюсь к ним в View.
Контроллер:
EVENT e = db.EVENT.Find(id);
ViewBag.event = e;
вид:
<p>
@if(ViewBag.event.poster_id != null)
{
@ViewBag.event.DATA.path;
}
</p>
- Что лучше и целесообразнее использовать? Что быстрее?
- Что, если у меня очень разветвленная БД и мне нужно все хранить в «ViewBag.e», лучше и быстрее хранить отдельные значения в ViewBags и доступ к ним в View или более быстрый прямой доступ из View?
- А как насчет списков? (сохранение информации БД в списке, помещение ее в ViewBag и последующий доступ к ней в View)
Я благодарен за ваши ответы и добавленные объяснения ....