Я пытаюсь сократить время запуска тестов против хранилища EF 6x. Тесты заключаются в транзакции, и db возвращается после выполнения. Я был бы признателен за любые предложения о том, как сохранить экземпляр DbContext между тестовыми сеансами, чтобы EF не пришлось снова проходить весь процесс генерации представлений?Улучшение производительности платформы Entity Framework во время тестирования
Я не хочу использовать издевательства/подделки, ветвь EF, отличную от Microsoft, и интерактивные представления уже на месте. Спасибо.
Вам нужно будет предоставить какой-то код и более подробную информацию о том, чем вы занимаетесь, тем самым я имею в виду, как эта настройка тестового проекта. У вас есть несколько экземпляров DbContext? Один за тест? Один за класс? Один глобальный? Вы должны проиллюстрировать, что инициализация медленная, поэтому она дает нам представление о том, что можно сделать для ее исправления. – Igor
DbContext должен быть чрезвычайно легким на практике. Например. в веб-приложениях у вас есть один такой экземпляр для каждого запроса пользователя. Они действительно (или, по крайней мере, должны быть) легкие объекты. Таким образом, проблемы с производительностью, которые вы испытываете, могут быть из другого места. Может быть, DbInitializer для ваших тестов? Вы прокомментировали свой код? Возможно, я ошибаюсь, хотя ... –
Вы не должны сохранять экземпляр DbContext и повторно использовать его в разных тестовых сеансах. Это не сильно отличается от повторного использования DbContext, скажем, среди разных потоков. Это неправильная практика (не потокобезопасная). –