#c_sharp #net #entity_framework #асинхронность #entity_framework_core
Есть отличная статья-ответ, которую наверное можно как некий справочник использовать когда необходимо освежить некоторые моменты в понимании параллельных вычислений. В этой статье касаемо асинхронного программирования, говорится Асинхронность (asynchrony) подразумевает, что операция может быть выполнена кем-то на стороне... и исходя из этого я могу понять разницу между DbSet.Save() и DbSet .SaveAsync(), а именно: когда сохранение у нас происходит во внешний источник (к примеру, база данных), где необходимо ожидать ответ и время этого ожидания не зависит от нашего кода, то предпочтительнее использовать асинхронный вариант этого метода, чтобы отпустить поток на другие нужды, а потом когда придет ответ продолжить работу с ответом уже этим или другим потоком. А что на счет асинхронного варианта AddAsync(), зачем-то он нужен, зачем ожидать ответ, разве добавление не происходит в памяти или я какой-то частный случай не знаю?
Ответы
Ответ 1
Согласно докам This method is async only to allow special value generators, such as the one used by 'Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo', to access the database asynchronously. For all other cases the non async method should be used.
Комментариев нет:
Отправить комментарий