EF.net Core асинхронная загрузка данных в Observable - PullRequest
0 голосов
/ 04 июля 2019

У нас есть особая ситуация с приложением WPF. Viewmodel загружает данные (используя ef.net) из базы данных по немного медленнее, чем обычно, по ссылке. Для извлечения 1000 строк в DataGrid требуется около 20 секунд, и этот вид сохраняет представление пустым до тех пор, пока не будут загружены все данные, после чего все сразу выгружается в сетку.

Таким образом, вопрос в том, можем ли мы каким-то образом настроить и / или использовать какой-либо способ заставить ef.net асинхронно возвращать пустой Observable, который затем будет передаваться с данными по мере их поступления. Тогда мы могли бы связать эту наблюдаемую точку с сеткой и просто остаться в стороне. Много ресурсов в сети обсуждают ef.net в контексте отключенной службы потоковой передачи уже загруженных данных (например, asp.net/res) и очень мало при загрузке в контексте.

Я бы предпочел оставить решение в рамках ef.net, без пользовательских решений, опирающихся на курсоры ADO / etc.

1 Ответ

0 голосов
/ 04 июля 2019

можем ли мы каким-то образом настроить и / или использовать какой-либо способ заставить ef.net асинхронно возвратить пустой Observable, который затем будет передаваться с данными по мере поступления

Нет, если толькоEF фактически возвращает результаты обратно, но я думаю, что он возвращает все записи, как только они (все) были получены из базы данных.

Вам необходим API IObservable, чтобы сделать это, но EF его не предоставляет.Что вы могли бы сделать - это запросить меньшее количество элементов, загрузить их в наблюдаемую или исходную коллекцию DataGrid напрямую, а затем запросить дополнительные элементы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...