private IEnumerable<ManagedLocalDb> GetDatabases()
{
return _managerConnection.UseCommand(
command =>
{
var names = new List<ManagedLocalDb>();
command.CommandText =
$"select {ManagerTableSchema.DatabaseName}, {ManagerTableSchema.IsFree}, {ManagerTableSchema.IsClean}, {ManagerTableSchema.ReservationDate} from {ManagerTableSchema.TableName} With(TABLOCKX)";
using(var reader = command.ExecuteReader())
{
while(reader.Read())
{
names.Add(new ManagedLocalDb(name:reader.GetString(0), isFree: reader.GetBoolean(1), isEmpty: reader.GetBoolean(2), reservationDate: reader.GetDateTime(3), connectionString:ConnectionStringForDbNamed(reader.GetString(0))));
}
}
return names;
});
}