для кафки на дотнет6, затем полученный стрим данных сразу же записывать в базу данных, написал код, при симуляции получении данных, когда данные отправлял данные по одному спокойно все записывалось в таблицу, но когда отправил 100 данных подряд программа сломалась.
Текст ошибки:
System.InvalidOperationException: "A second operation was started on this context instance before a previous operation completed. This is usually caused by different threads concurrently using the same instance of DbContext. For more information on how to avoid threading issues with DbContext, see https://go.microsoft.com/fwlink/?linkid=2097913."
Использовал EFcore. Можете дать советы, пожалуйста.
Не пытайтесь распараллелить запросы через один DbContet
а как можно сделать запись потока данных в таблицу ? если идет поток. написать типа какого-то флага ,что база занята подожди и тд??
В вашем приложении контекст БД (dbContext) должен создаваться в единственном экземпляре (см. Синглтон) Можно, конечно, заморочиться с использованием специального флага
Для каждой операции свой контекст в своём скоупе резолвить
Обсуждают сегодня