Я использую NHibernate для ORM, и все работает нормально.
Теперь я начал писать некоторые юнит-тесты (используя БД, я не хочу прилагать слишком много усилий для абстрагирования этого, я знаю, что это не идеально, но это работает ..).
Мне нужно быть уверенным, что БД для некоторых тестов полностью пуста. Я могу, конечно, создать всю БД. Но это кажется излишним, и я думаю, что это займет больше времени ...
Существует ли команда DELETE_ALL, которая очищает все таблицы, которую я могу использовать в NHibernate?
Chris
РЕДАКТИРОВАТЬ: Короткое обновление, я решил пойти по пути SQLite, нет проблем, чтобы изменить это с NHibernate. Есть некоторые подводные камни, я использую этот конфиг, и он работает. В противном случае вы можете получить ошибки «таблица не найдена» из-за того, что nHibernate закрывает соединение во время сеанса, что приводит к «потерянной» базе данных ...
Для вашего удобства: скопируйте и вставьте ...
.Database(SQLiteConfiguration.Standard.ConnectionString("Data Source=:memory:;Version=3;New=True;Pooling=True;Max Pool Size=1;")
.Raw("connection.release_mode", "on_close"))
.Mappings(obj => obj.AutoMappings.Add(_config.APModel));