Это не позволяет мне удалить файл базы данных, когда я закончил с ним (например, по завершении модульного теста или когда пользователь моего приложение запрашивает это).
Вы можете увидеть, насколько просто я использую DbContext и как File.Delete после его закрытия завершается с ошибкой:
Код: Выделить всё
using (var context = new ChinookContext())
{
var artists = from a in context.Artists
where a.Name.StartsWith("A")
orderby a.Name
select a;
foreach (var artist in artists)
{
Console.WriteLine(artist.Name);
}
}
// I've disposed of the DbContext. All handles to the sqlite database file SHOULD
// have been released by now.
// Yet, this next line fails because the file is still locked.
File.Delete("Chinook_Sqlite_AutoIncrementPKs.sqlite");
Любые идеи о том, чего мне не хватает, чтобы закрыть дескриптор файла?
Кстати, я знаю, что часто задаваемые вопросы № 22 о блокировках файлов снимаются только тогда, когда я удаляю команду, средство чтения данных и т. д., но я этого не сделал. Я сам ничего из этого не открывал, поэтому не знаю, как от них избавиться.
Подробнее здесь: https://stackoverflow.com/questions/314 ... -dbcontext