Я нашел много вопросов и информации о том, что DbContext не является потокобезопасным.Но примеры в таких вопросах содержат вызов SaveChanges
, который используется несколькими потоками.Как насчет следующего примера:
someCollection1.AsParallel().ForAll(item => { item.SomeField = 0; dbContext.Update(item); })
someCollection2.AsParallel().ForAll(item => { item.SomeField = 0; dbContext.Update(item); })
dbContext.SaveChanges();
Как я понимаю, строка dbContext.Update(item)
создает dbContext
дорожек item
для обновления.SaveChanges
вызывается только одним потоком.Это нормально, что несколько потоков обращаются к Update
для отслеживания?