public override Task<IEnumerable<IDictionary<string, object>>> ExecuteFunctionAsync(HttpRequest request)
 {
     return Utils.EmptyTask<IEnumerable<IDictionary<string, object>>>.Task;
 }
 public override Task<IEnumerable<IDictionary<string, object>>> FindEntriesAsync(HttpRequest request, bool scalarResult)
 {
     return Utils.EmptyTask<IEnumerable<IDictionary<string, object>>>.Task;
 }
 public override async Task<IDictionary<string, object>> UpdateEntryAsync(HttpRequest request)
 {
     return await TaskEx.FromResult(request.EntryData);
 }
 public override Task DeleteEntryAsync(HttpRequest request)
 {
     return Utils.EmptyTask.Task;
 }
 public override Task<IDictionary<string, object>> GetEntryAsync(HttpRequest request)
 {
     return Utils.EmptyTask<IDictionary<string, object>>.Task;
 }
 public abstract Task<Tuple<IEnumerable<IDictionary<string, object>>, int>> FindEntriesWithCountAsync(HttpRequest request, bool scalarResult);
 public abstract Task<IEnumerable<IDictionary<string, object>>> ExecuteFunctionAsync(HttpRequest request);
 public abstract Task DeleteEntryAsync(HttpRequest request);
 public abstract Task<IDictionary<string, object>> UpdateEntryAsync(HttpRequest request);