“Не может отбросить базу данных, потому что это используется в настоящее время”. Как зафиксировать?

Наличие этого простого кода, который я получаю, "Не может отбросить базу данных "test_db", потому что это используется в настоящее время" (Метод CleanUp), поскольку я выполняю его.

[TestFixture]
public class ClientRepositoryTest
{
    private const string CONNECTION_STRING = "Data Source=.;Initial Catalog=test_db;Trusted_Connection=True";
    private DataContext _dataCntx;

    [SetUp]
    public void Init()
    {
        Database.SetInitializer(new DropCreateDatabaseAlways<DataContext>());
        _dataCntx = new DataContext(CONNECTION_STRING);
        _dataCntx.Database.Initialize(true);
    }

    [TearDown]
    public void CleanUp()
    {
        _dataCntx.Dispose();
        Database.Delete(CONNECTION_STRING);
    }
}

DataContext имеет одно свойство как это

 public DbSet<Client> Clients { get; set; }

Как может вынудить мой код удалить базу данных?Спасибо

58
задан 10 August 2011 в 12:24

1 ответ

Его простое, потому что u're все еще с помощью того же дб где-нибудь или соединения все еще открыт. Поэтому просто выполните "ведущее устройство ИСПОЛЬЗОВАНИЯ" сначала (если существуют, но обычно), и затем отбросьте другой дб. Это всегда должно работать!

Grz John

-1
ответ дан 1 November 2019 в 13:52

Другие вопросы по тегам:

Похожие вопросы: