/// <summary>
 /// Executa a consulta informada.
 /// </summary>
 /// <param name="query">Instância com os dados da consulta que será executada.</param>
 /// <returns></returns>
 public IQueryResult Execute(QueryInfo query)
 {
     query.Require("query").NotNull();
     if (query.StoredProcedureName == null && query.Entities != null && query.Entities.Length > 0 && query.CanUseCache)
     {
         new QueryInfoListener(this, query);
     }
     return(ServerQueryDataSource.Execute(query));
 }
 /// <summary>
 /// Executa as consulta informadas no banco de dados.
 /// </summary>
 /// <param name="queries"></param>
 /// <returns></returns>
 public IEnumerable <IQueryResult> Execute(QueryInfo[] queries)
 {
     queries.Require("queries").NotNull();
     foreach (var query in queries)
     {
         if (query.StoredProcedureName == null && query.Entities != null && query.Entities.Length > 0 && query.CanUseCache)
         {
             new QueryInfoListener(this, query);
         }
     }
     return(ServerQueryDataSource.Execute(queries));
 }