Я пишу несколько модульных тестов для создания базы данных с использованием кода EF. Во время выполнения модульных тестов метод DBContext->OnModelCreating
выполняется только 1 раз, а затем модель кэшируется для остальных оставшихся тестов.
Я хочу иметь возможность выполнять «OnModelCreating» для каждого модульного теста отдельно, пытаясь установить свойство ModelCaching, как указано в документации:
// Remarks:
// Typically, this method is called only once when the first instance of a derived
// context is created. The model for that context is then cached and is for all
// further instances of the context in the app domain. This caching can be disabled
// by setting the ModelCaching property on the given ModelBuidler, but note that
// this can seriously degrade performance. More control over caching is provided
// through use of the DbModelBuilder and DbContextFactory classes directly.
protected virtual void OnModelCreating(DbModelBuilder modelBuilder);
Однако в этом построителе моделей нет такого свойства "ModelCaching".
Как еще я могу отключить кэширование этой модели? Тесты проходят нормально один за другим, но из-за этого кэширования они терпят неудачу при запуске подряд.
Лучше сказать, как я могу заставить ApplicationDbContext -> OnModelCreating
запускаться для каждого теста отдельно? Теперь он запускается только один раз, когда впервые используется для кучи модульных тестов.