В Entity Framework Core вы обычно используете что-то подобное, что должно работать практически во всех случаях:
using (var dbContext = new MyDbContext()) {
await dbContext.Entities.WhereAsync(e => e.Something == somethingElse);
await dbContext.SaveChangesAsync();
}
Вы также можете использовать Dependency Injection с контекстом базы данных.Теперь вы бы добавили контекст базы данных в контейнер DI и внедрили его в классы / контроллеры / конструкторы / методы там, где вам это нужно:экземпляр как локальная переменная, что достаточно справедливо, но больше нет возможности использовать операторы using
.Теперь два разных метода могут в конечном итоге использовать один и тот же dbContext одновременно, что, скорее всего, вызовет проблемы параллелизма.
Если dbContext не был введен, а просто использован в операторе using
, тогда проблем быть не должнос параллелизмом, и объект будет расположен в конце каждого метода.
Итак, как бы вы правильно обрабатывали параллелизм и удаление с помощью Entity Framework Core и Dependency Injection?