Я работал над приложением silverlight, которое генерирует различные графики. Это требует некоторого сокращения чисел, а также получения приличного количества данных из базы данных.
Для связи с БД я создал веб-сервис, который использует Linq2SQL. Чтобы преодолеть проблему взрыва моего веб-сервиса, я делю данные на части, что иногда приводит к 3 вызовам веб-сервиса, чтобы получить все это.
К вопросу. При получении больших объемов данных процесс перечисления " ToList () " занимает хорошие несколько секунд, что в целом увеличивает время загрузки. Типичная продолжительность моего запроса составляет около 1500 в соответствии с SQL Profiler. Вызов ToList () может занять до 4 секунд для 1000 записей, что кажется экстремальным.
Мой главный вопрос: можно ли что-нибудь сделать, чтобы ускорить этот процесс? Или, может быть, есть лучший способ получить большие объемы данных из базы данных в приложение silverlight?
Дополнительная информация:
Моя ссылка на linq жестко закодирована в частичный класс моего контекста данных. Это связано с неудобной хранимой процедурой, тип возвращаемой информации которой не подходит для файла dbml.
Я также создал базовый объект, который я установил в качестве возвращаемого типа для моего объекта, состоящий в основном из быстрых определений свойств, таких как:
public Guid Id {get; set;}
Следующий вопрос: при определении вызова хранимой процедуры и типов возврата linq, существуют ли какие-либо атрибуты, которые помогают ускорить процесс, или я в порядке, просто связав его с очень простым объектом?