601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
|
|||||||||||
1 | |||||||||||
IAsyncEnumerable или IEnumerable21.03.2017, 13:00. Показов 3672. Ответов 9
Есть метод:
Обращение к бд, вроде как будет одно, но в случае с await purse.ToList() я два раза буду использовать локальный запрос IAsyncEnumerable?
0
|
21.03.2017, 13:00 | |
Ответы с готовыми решениями:
9
Проверить корректность реализации IEnumerable<T> и IEnumerable Метод, преобразующий многомерные или ступенчатые массивы в IEnumerable Зачем IEnumerable наследоваться от IEnumerable<T>? IEnumerable<T>, IQueryable<T> когда лучше использовать тот или иной тип коллекций |
17792 / 12943 / 3381
Регистрация: 17.09.2011
Сообщений: 21,226
|
|||||||||||
21.03.2017, 13:15 | 2 | ||||||||||
Поскольку работа со списком не является блокирующей операцией, я бы предпочел делать один асинхронный запрос в базу, а список обрабатывать как обычно, то есть второй вариант.
Только не совсем понятно: почему вы сначала тянете все записи из базы, а потом уже фильтруете их на стороне клиента? Не разумнее ли было бы фильтровать их тоже на стороне базы?
При повторном взгляде возникает еще вопрос: если из базы тянутся только Money, которые фильтруются по определенному ключу кошелька, то зачем тянуть данные из кошелька, если можно сразу тянуть деньги?
1
|
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
|
|
21.03.2017, 13:15 [ТС] | 3 |
Ну да, тянуть всю _db.PurseSet.Include(p => p.Money), не разумно, и не нужно...
0
|
14 / 13 / 1
Регистрация: 25.01.2023
Сообщений: 426
|
|||||||||||
15.03.2023, 19:35 | 4 | ||||||||||
kolorotur, здравствуйте. Объясните мне один момент, связанный с нововведением в C# 8 - IAsyncEnumerable. Почему при таком коде UI поток не блокируется
0
|
403 / 265 / 69
Регистрация: 12.04.2020
Сообщений: 1,405
|
|
15.03.2023, 20:05 | 5 |
0
|
14 / 13 / 1
Регистрация: 25.01.2023
Сообщений: 426
|
|
15.03.2023, 20:47 | 6 |
Ааа, вот в чем дело. А почему так? Зачем тогда в классе DbSet наличествует метод GetAsyncEnumerator<>?
Добавлено через 29 минут Если что, для EF используется поставщик SQLite. Но то же самое было и с другими, такими как ms sql server, MySQL
0
|
17792 / 12943 / 3381
Регистрация: 17.09.2011
Сообщений: 21,226
|
|
15.03.2023, 20:52 | 7 |
0
|
14 / 13 / 1
Регистрация: 25.01.2023
Сообщений: 426
|
|
15.03.2023, 21:05 | 8 |
0
|
403 / 265 / 69
Регистрация: 12.04.2020
Сообщений: 1,405
|
|
15.03.2023, 21:06 | 9 |
0
|
14 / 13 / 1
Регистрация: 25.01.2023
Сообщений: 426
|
|
15.03.2023, 21:21 | 10 |
0
|
15.03.2023, 21:21 | |
15.03.2023, 21:21 | |
Помогаю со студенческими работами здесь
10
Сделать преобразование из string в IEnumerable<XElement>, или как в IEnumerable<XElement> формировать команду? Цикл foreach, проход по IEnumerable и IEnumerable.ToList() Передача массива или Ienumerable из представления в контроллер Ошибка при использовании IEnumerable<T>: Использование универсального типа IEnumerable требует аргумент типа 1 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |