Tengo un archivo MDF que estoy adjuntando a mi servidor SQL local durante la prueba con MSTEST y no quiero tener que ir a borrar esas bases de datos temporales a mano después de ejecutar el conjunto de prueba 50 veces. (Ya lo he hecho y no me gusta>. <) Estoy buscando una manera de eliminar la base de datos del servidor después de que haya terminado con las pruebas, durante mi método TestCleanup. Solo necesito un poco de orientación sobre qué declaraciones SQL usaría para hacer esto.Borrando la base de datos de C#
¿Pensamientos?
¡Thx por adelantado! : D
EDITAR (Por Monkey Software, desde editar rechazado de OP a la respuesta de ODED)
Este es el código que funcionó para mí:
var server = new Server(serverName); // Can use overload that specifies
foreach (Database db in server.Databases)
{
if (db.Name.ToLower().Contains(testDatabaseIdentifier))
{
databasesToDelete.Add(db.Name);
}
}
databasesToDelete.ForEach(x =>
{
Database db = new Database(server, x);
db.Refresh();
db.Drop();
});
¿Quiere decir eliminar el archivo MDF real? Utilizaría métodos de eliminación de archivos normales del marco para eso. Si quiere decir eliminar las tablas en los MDE, es una serie simple de declaraciones 'DELETE FROM tableName'. –
Estuve investigando algo similar hace un tiempo y terminé usando SQLCE para mis pruebas automáticas. ¿Esta sería una opción para ti también? –
@Robert, perdón por eso debería haber especificado. No es el mdf en sí, sino solo el db que se creó cuando adjunté el mdf – khr055