|
5 / 5 / 3
Регистрация: 15.01.2017
Сообщений: 690
|
|||||||||||
MS SQL Как из асинхронного метода получить объект?26.03.2020, 18:37. Показов 5314. Ответов 24
Вопрос
Как из асинхронного метода получить объект? Используется - Microsoft.EntityFrameworkCore; - Microsoft.EntityFrameworkCore.SqlServer. Описание Я пробую сделать аналогичный проект. Ссылка на проект - link // github.com Я пробую повторить метод - `GetPosts(int index, int pageSize, string tag = null)` Я хочу сделать аналогичный асинхронный метод с произвольным запросом. Запрос например: `query = query.Where(p => p.ContactName.Contains("Maria"));` Я пробую сделать простой метод:
Вопрос Как такой метод сделать асинхронным с таким же или другим запросом? Попытка номер - 1. Результат - не работает
0
|
|||||||||||
| 26.03.2020, 18:37 | |
|
Ответы с готовыми решениями:
24
Как прекратить выполнение асинхронного метода Вызов асинхронного метода из события Ожидание выполнение асинхронного метода |
|
5 / 5 / 3
Регистрация: 15.01.2017
Сообщений: 690
|
|
| 26.03.2020, 18:44 [ТС] | |
|
- Приложение: ConsoleAppCore - .NET Core. Console
- Приложение: DBRepository - .NET Standart.
0
|
|
|
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
|
||||||
| 26.03.2020, 20:46 | ||||||
|
Soft17,
1
|
||||||
|
5 / 5 / 3
Регистрация: 15.01.2017
Сообщений: 690
|
|||||||||||
| 26.03.2020, 22:14 [ТС] | |||||||||||
|
Рядовой,
Добавил "async", т.к. без "async" получаю ошибки. Ошибки: 1. Не удается неявно преобразовать тип "Models.Customer" в "System.Threading.Tasks.Task<Models.Cust omer>". 2. Оператор await можно использовать только в методах с модификатором async. Consider marking this method with the 'async' modifier and changing its return type to 'Task<Task<Customer>>'. Результат.
Прихожу в блок:
Отладка прерывается.
0
|
|||||||||||
|
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
|
||
| 26.03.2020, 22:29 | ||
|
Soft17, да, async забыл.
Она не прерывается, просто асинхронно стал выполняться блок внутри Task.Run. Когда результат будет готов строка сама переключится на
1
|
||
|
5 / 5 / 3
Регистрация: 15.01.2017
Сообщений: 690
|
||
| 26.03.2020, 22:38 [ТС] | ||
|
Только в результате запроса я должен получить две строки из таблицы. Как мне их получить?
0
|
||
|
5 / 5 / 3
Регистрация: 15.01.2017
Сообщений: 690
|
|
| 26.03.2020, 22:48 [ТС] | |
|
0
|
|
|
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
|
||
| 26.03.2020, 22:54 | ||
|
Soft17, можете вернуть
- List<Customer> - Tuple<Customer, Customer> - class foo { Customer c1; Customer c2; } Добавлено через 4 минуты
1
|
||
|
5 / 5 / 3
Регистрация: 15.01.2017
Сообщений: 690
|
||
| 26.03.2020, 22:56 [ТС] | ||
|
Если вам не сложно, не могли бы вы по подробнее описать данное решение..
0
|
||
|
5 / 5 / 3
Регистрация: 15.01.2017
Сообщений: 690
|
|
| 26.03.2020, 23:16 [ТС] | |
|
0
|
|
|
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
|
|
| 27.03.2020, 00:00 | |
|
Soft17, а как сам GetCustomersTask вызываете? Надеюсь с await?
1
|
|
|
5 / 5 / 3
Регистрация: 15.01.2017
Сообщений: 690
|
|||||||
| 27.03.2020, 21:48 [ТС] | |||||||
|
После данного вашего сообщения я сделал: - добавил в метод "GetCustomersTask1_Test" слово "async"; - добавил в строку "var customerList = _iCustomerRepository.GetCustomersTask(); " слово "await". Результат:
Т.е. Нажимаю "дальше" (F11). Отладка прерывается. Я правильно понял ваше сообщение?
0
|
|||||||
|
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
|
|||
| 28.03.2020, 10:12 | |||
|
Soft17, написано все правильно.
В catch заходит? Поставьте брейкпоинт на выходе из метода. Зайдет он туда? Зайдите в отладку асинхронного метода, поставьте брейкпоинт на эту строку
1
|
|||
|
5 / 5 / 3
Регистрация: 15.01.2017
Сообщений: 690
|
||
| 28.03.2020, 11:09 [ТС] | ||
|
Прилагаю весь проект. Состав: - ConsoleAppCore\ - .vs\ - DBRepository\ - Models\ - NUnitTestConsoleCore\ - [dbo].[Customers]_CREATE TABLE.sql - [dbo].[Customers]_DataTable.sql - ConsoleAppCore_01.sln
0
|
||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||||||
| 28.03.2020, 12:43 | |||||||
1
|
|||||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||||||||||||||||
| 28.03.2020, 14:00 | |||||||||||||||||
Сообщение было отмечено Soft17 как решение
РешениеCustomerRepositoryAnsw
TestAnsw.cs
Program.cs
1
|
|||||||||||||||||
|
5 / 5 / 3
Регистрация: 15.01.2017
Сообщений: 690
|
||||||
| 28.03.2020, 15:49 [ТС] | ||||||
|
kolorotur,
С асинхронностью разобрались... А как мне получить результат выполнения запроса? В запросе я получаю две записи. Как забрать из метода "GetCustomersTask()" две записи? В методе
В строке "return await query.FirstOrDefaultAsync();" я получаю первую запись... вроде...
0
|
||||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||||||
| 28.03.2020, 16:10 | |||||||
Сообщение было отмечено Soft17 как решение
Решение
FirstOrDefaultAsync возвращайте ToListAsync
1
|
|||||||
|
5 / 5 / 3
Регистрация: 15.01.2017
Сообщений: 690
|
||||||
| 28.03.2020, 16:39 [ТС] | ||||||
|
kolorotur,
Вроде работает... Сделал так
1. Почему проход по строчкам "var query = context.Customers.AsQueryable();" и "return await query.ToListAsync();" выполняется два раза? 2. Дохожу до строки 164, нажимаю два раза F11 и только тогда отладка продолжается. Почему так происходит?
0
|
||||||
| 28.03.2020, 16:39 | |
|
Помогаю со студенческими работами здесь
20
Приведите пример асинхронного метода
Принцип работы асинхронного метода BeginReceive Юнит-тест для асинхронного метода Передача параметров и возврат значений из асинхронного метода Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|