2009-11-16 5 views
1

Кто-нибудь слышал об асинхронном выполнении запроса EF?Асинхронная загрузка данных в Entity-Framework?

Я хочу, чтобы мой элемент управления заполнялся сразу, когда форма загружается, и пользователь должен иметь возможность просматривать список, пока остальные элементы все еще загружаются.

Возможно, путем автоматического расщепления выполнения в партиях предметов (т. Е. Нескольких запросов для каждого выполнения) все в одном соединении.

Я разместил предложение функции Microsoft, пожалуйста, поделитесь им своими идеями.

ответ

1

Не хочу звучать как реклама, но я заметил, что последняя сетка DevExpress предоставляет такие функции в своей сетке WPF. По сути, вы хотите сначала загрузить видимый счетчик, а затем загрузить остальную часть в фоновом потоке, чтобы ваш пользовательский интерфейс не замерзал. Фоновый поток должен, вероятно, загружать другую страницу за раз и сделать их доступными для потока пользовательского интерфейса.

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

+0

Фон поток! Это слово. – Shimmy

0

Я беру с вашей ссылки, что это веб-приложение. Это верно?

Запрос должен заполнить и вернуть данные до начала рендеринга. Функция EF вам не поможет. Скорее. посмотрите, как разбить процесс на несколько процессов, которые можно выполнить сразу.

Имейте в виду, что ASP.NET не может вернуть ответ браузеру, если это не сделано для визуализации HTML.

Позвольте мне предположить, что вы выполняете один запрос, возвращая результаты и отображая их на странице.

Лучший вариант: Представьте свои результаты. если у вас есть 4000 записей, покажите первые 50. Если вы показываете пользователю 200+ записей, они не могут переварить эту информацию.

Если это не соответствует вашим потребностям, посмотрите на запуск одного запроса на 50 результатов. Сделайте Ajax-вызов оставшимся записям и создайте пользовательский интерфейс оттуда (в размерах).

+0

Я говорил о выигрышных приложениях, спасибо за то, что поделился своими знаниями, это было действительно полезно. – Shimmy

+3

Поддержка EF для асинхронных операций по-прежнему имеет значение - обработка потока текущего запроса может быть возвращена пулу потоков для обработки других запросов, пока мы ждем нашего вызова базы данных async. Но вы правы, что это не ускорит восприятие пользователем того, насколько быстро загружается страница. –

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