An object that represents a general SQL query, can be either a select, insert, or an update query.
 /// <summary>
 /// Executes a query represendted by a <see cref="Query"/> instance
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public IDataReader ExecuteQuery(Query query)
 {
     if (query == null)
         throw new ArgumentNullException("query");
     var result = query.Parse(this);
     return ExecuteSqlReader(result.Sql, result.Parameters.ToArray());
 }
 protected void Execute(Query query)
 {
     _dataToolMock.Object.ExecuteQuery(query);
 }