Нужно ли избавляться от DbContext при использовании InMemoryDatabase? - PullRequest
0 голосов
/ 31 января 2019

В своих модульных тестах я использую EF Core 2.2 с InMemoryDatabase , например:

var dbOptions = new DbContextOptionsBuilder<MyContext>().UseInMemoryDatabase("Foo").Options;
using (var context = new MyContext(dbOptions));
{
    // Do stuff..
}

При использовании UseInMemoryDatabase действительно ли мне нужно утилизировать DbContext?После прочтения блога Джона Галланта я понимаю, что Dispose() не всегда , необходимый даже при использовании реального поставщика баз данных SQL.Какой смысл использовать DbContext при использовании InMemoryDatabase?Могу ли я оставить это для GC?

1 Ответ

0 голосов
/ 31 января 2019

До тех пор, пока у контекста нет таких зависимостей, как соединение с БД или файловые ресурсы, которые должны быть освобождены при удалении, вы можете не использовать удаление.

Все ссылки, выходящие за пределы области, помечаются для мусорасбор автоматически.

Судя по вашему коду, у вас есть блок using, что, на мой взгляд, хорошо, потому что как только исполняемый код покидает ваш блок using, вызывается Dispose.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...