/// <summary>Executes the command asynchronously</summary>
        /// <param name="cancellationToken">The cancellation token in scope for the operation</param>
        /// <returns>The result of the command</returns>
        public override async Task <SqlQueryResult <TEntity> > ExecuteAsync(CancellationToken cancellationToken)
        {
            SqlQueryResult result = await _databaseCommander.ExecuteSqlAsync((SqlQueryRequest)CommandRequest, cancellationToken);

            List <TEntity> entities = MapToEntities(result.DataTable);

            return(new SqlQueryResult <TEntity>(entities));
        }
        /// <summary>Executes the command</summary>
        /// <returns>The result of the command</returns>
        public override SqlQueryResult <TEntity> Execute()
        {
            SqlQueryResult result = _databaseCommander.ExecuteSql((SqlQueryRequest)CommandRequest);

            List <TEntity> entities = MapToEntities(result.DataTable);

            return(new SqlQueryResult <TEntity>(entities));
        }