Для чего используется ChangeTrackerClear()?
Для чего здесь может использоваться ChangeTrackerClear()?
В интернете нашел, что он используется для
Для отмены изменений
Для производительности, очистка ChangeTracker уменьшит объем памяти, используемый контекстом
[Fact] public async void TestUpdateAdd() { var testHelper = new TestHelper(); var categoryRepository = testHelper.CategoryRepository; var category = categoryRepository.GetByTitleAsync("Nature").Result; categoryRepository.ChangeTrackerClear(); category.Title = "The Nature"; var album = new Album { Title = "Night", Cost = "2000 руб", Description = "Night pics" }; category.AddAlbum(album); await categoryRepository.UpdateAsync(category); Assert.Equal("The Nature", categoryRepository.GetByTitleAsync("The Nature").Result.Title);}
Метод ChangeTrackerClear в классе categoryRespository:
public void ChangeTrackerClear()
{
// сброс отслеживания изменений
_context.ChangeTracker.Clear();
}
Какой смысл здесь сбрасывать изменения?
Ответы (1 шт):
Автор решения: rotabor
→ Ссылка
Очевидно, что в приведённом методе отмена изменений необходима для исключения влияния уже сделанных изменений на результат теста.