Сколько записей загружено в BindingSource? - PullRequest
2 голосов
/ 19 июня 2020

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

Сейчас я изучаю привязку данных, потому что понимаю, что могу значительно ускорить весь процесс.

Однако у меня есть вопрос о начальной загрузке BindingSource. Я заметил, что образцы кодов всегда содержат команду .Load () без указания начального фильтра.

Пример:

dbContext ctx = new dbContex();
ctx.Table.Load(); <-- Here is my doubt
myBindingSource.DataSource = ctx.Table.Local.ToBindingList()

Предположим, что в этой таблице 10 000 записей. Будет ли загружено сразу 10 000 записей? Разве этот тип операции не делает загрузку очень медленной и не потребляет много пропускной способности сети?

1 Ответ

1 голос
/ 19 июня 2020

Согласно документации

Один из распространенных способов сделать это - написать запрос LINQ, а затем вызвать для него ToList, только чтобы немедленно отбросить созданный список. Метод расширения Load работает так же, как ToList, за исключением того, что он полностью позволяет избежать создания списка. эту таблицу.

Вы также можете запросить ее перед вызовом Load ()

context.Posts.Where(p => p.Tags.Contains("stackoverflow")).Load();  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...