Я запускаю деякий код виправлення, який запускається через велику купу сутностей, оскільки його прогрес зменшується, це означає, що кількість відстежуваних сутностей у контексті збільшується з кожною ітерацією. Це може зайняти багато часу, тому я зберігаю зміни в кінці кожної ітерації. Кожна ітерація є незалежною і не змінює попередньо завантажені сутності.
Я знаю, що можу відключити відстеження змін, але не хочу, оскільки це не код масової вставки, а завантаження сутностей та обчислення кількох речей, а якщо цифри неправильні, встановіть нові номери та оновіть / видаліть / створіть деякі додаткові сутності. Я знаю, що можу створити новий DbContext для кожної ітерації, і, ймовірно, це буде працювати швидше, ніж робити все в тому ж екземплярі, але я думаю, що може бути кращий спосіб.
Тож питання в тому; Чи є спосіб очищення сутностей, раніше завантажених у контексті db?
context.Entry(entity).State = EntityState.Detached
і це припинить відстеження цієї конкретної сутності.