Вы путаете SingleAsync
с SingleOrDefaultAsync
.
SingleAsync
-> означает, что будет выброшено, если не найдено ни одной записи или более одной записи
Асинхронно возвращает единственный элемент последовательности, который удовлетворяет
указанное условие, и выдает исключение, если более одного такого
элемент существует.
SingleOrDefaultAsync
-> означает, что будет выброшено, если найдены две или более записи
Асинхронно возвращает единственный элемент последовательности, который удовлетворяет
указанное условие или значение по умолчанию, если такого элемента не существует; этот
Метод генерирует исключение, если более чем один элемент удовлетворяет
состояние.