Для чего используется 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

Очевидно, что в приведённом методе отмена изменений необходима для исключения влияния уже сделанных изменений на результат теста.

→ Ссылка