2015-12-20 3 views
0

Я создаю приложение MVC ASP.Net и имею большой список данных, которые мне нужно отображать в таблице, но не все данные находятся в одной таблице моей базы данных. Из-за этого я создал модель представления, чтобы получить все необходимые данные и поместить их в одно место для моего представления. До недавнего времени это отлично работало, когда я начал получать большие объемы данных. Теперь процесс перемещения всех данных с моделей на модель представления занимает слишком много времени. Традиционно я бы использовал ленивую загрузку, чтобы сократить это время, но я не уверен, как это сделать с моделью просмотра. Возможно ли это?Как использовать ленивую загрузку с помощью моделей просмотра

Если у вас есть какой-либо код, который вы хотите, сообщите мне, но я не уверен, какой код будет нужен прямо сейчас.

+0

Посмотрите на [это] (http://stackoverflow.com/a/33921573/40521) – Shyju

+0

@Shyju хороший ответ на вашу ссылку. Я дал ему верх. Что касается ленивой загрузки из viewmodel, вам не нужно делать ничего лишнего, чем обычно. Просто убедитесь, что ваши свойства навигации являются виртуальными и убедитесь, что в вашем классе конфигурации включена ленивая загрузка (она уже включена по умолчанию). – mrsargent

+0

В этом сообщении объясняется, как работает отложенное выполнение и как оно влияет на производительность (когда у вас есть свойства навигации, которые исходят из других таблиц), и решение для решения проблемы (с использованием dtos и проецирования) – Shyju

ответ

2

С другого ответа опубликовал решение, кажется, для вашей базы данных для:

var.Resource.Include(s=>s.someResource); 

Включать() применяет жадную загрузку. Желательная загрузка - это процесс, когда запрос для одного типа объекта также загружает связанные объекты как часть запроса. Это ускорит его, поэтому вы не будете делать много запросов.

Смежные вопросы