Я настраиваю новое приложение, используя Entity Framework Code Fist, и я ищу способы попытаться максимально сократить количество обращений к SQL Server.
Когда я впервые прочитал о свойстве .Local здесь , я очень обрадовался возможности вывести целые графы объектов на ранних этапах моего конвейера обработки, а затем использовать .Local позже, не беспокоясь о том, чтобы вызвать Стоимость дополнительных поездок туда и обратно.
Теперь, когда я поэкспериментирую с этим, мне интересно, есть ли способ снять все данные, которые мне нужны для одного запроса, в одну поездку. Например, у меня есть веб-страница с несколькими списками, новостями, событиями и дискуссиями. Есть ли способ, которым я могу записать записи их 3 несвязанных исходных таблиц в DbContext за один раз? Вы все там, в сети, думаете, что это прекрасно, когда одна страница делает 20 обращений к серверу БД? Я полагаю, что при наличии надлежащего механизма кэширования эта проблема может быть смягчена.
Я наткнулся на пару из трещин при возврате нескольких результатов запросов EF за один цикл, но я не уверен, что сложность и зрелость этих видов решений стоит отдачи.
В целом, с точки зрения составления наборов данных, которые должны быть переданы на контроллеры MVC, считаете ли вы, что лучше просто сделать отдельный запрос для каждого набора записей, который вам нужен, а затем беспокоиться о большей части производительности позже на уровне кэширования, используя либо поставщик кэширования EF или кэширование asp.net?