diff --git a/core/modules/aggregator/aggregator.module b/core/modules/aggregator/aggregator.module
index 7171f51..788d707 100644
--- a/core/modules/aggregator/aggregator.module
+++ b/core/modules/aggregator/aggregator.module
@@ -317,10 +317,16 @@ function aggregator_cron() {
   }
 
   // Remove queued timestamp after 6 hours assuming the update has failed.
-  db_update('aggregator_feed')
-    ->fields(array('queued' => 0))
+  $result = entity_query('aggregator_feed')
     ->condition('queued', REQUEST_TIME - (3600 * 6), '<')
     ->execute();
+  if ($result) {
+    $feeds = entity_load_multiple('aggregator_feed', $result);
+    foreach ($feeds as $feed) {
+      $feed->queued->value = 0;
+      $feed->save();
+    }
+  }
 }
 
 /**
diff --git a/core/modules/aggregator/lib/Drupal/aggregator/Plugin/Derivative/AggregatorFeedBlock.php b/core/modules/aggregator/lib/Drupal/aggregator/Plugin/Derivative/AggregatorFeedBlock.php
index 663bf5f..98851e2 100644
--- a/core/modules/aggregator/lib/Drupal/aggregator/Plugin/Derivative/AggregatorFeedBlock.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Plugin/Derivative/AggregatorFeedBlock.php
@@ -30,10 +30,17 @@ public function getDerivativeDefinition($derivative_id, array $base_plugin_defin
     if (!empty($this->derivatives) && !empty($this->derivatives[$derivative_id])) {
       return $this->derivatives[$derivative_id];
     }
-    $result = db_query('SELECT fid, title, block FROM {aggregator_feed} WHERE block <> 0 AND fid = :fid', array(':fid' => $derivative_id))->fetchObject();
     $this->derivatives[$derivative_id] = $base_plugin_definition;
-    $this->derivatives[$derivative_id]['delta'] = $result->fid;
-    $this->derivatives[$derivative_id]['admin_label'] = t('@title feed latest items', array('@title' => $result->title));
+    $result = entity_query('aggregator_feed')
+      ->condition('fid', $derivative_id)
+      ->condition('block', 0, '<>')
+      ->execute();
+    if ($result) {
+      $feeds = entity_load_multiple('aggregator_feed', $result);
+      $feed = reset($feeds);
+      $this->derivatives[$derivative_id]['delta'] = $feed->id();
+      $this->derivatives[$derivative_id]['admin_label'] = t('@title feed latest items', array('@title' => $feed->label()));
+    }
     return $this->derivatives[$derivative_id];
   }
 
@@ -42,11 +49,15 @@ public function getDerivativeDefinition($derivative_id, array $base_plugin_defin
    */
   public function getDerivativeDefinitions(array $base_plugin_definition) {
     // Add a block plugin definition for each feed.
-    $result = db_query('SELECT fid, title FROM {aggregator_feed} WHERE block <> 0 ORDER BY fid');
-    foreach ($result as $feed) {
-      $this->derivatives[$feed->fid] = $base_plugin_definition;
-      $this->derivatives[$feed->fid]['delta'] = $feed->fid;
-      $this->derivatives[$feed->fid]['admin_label'] = t('@title feed latest items', array('@title' => $feed->title));
+    $result = entity_query('aggregator_feed')
+      ->condition('block', 0, '<>')
+      ->sort('fid')
+      ->execute();
+    $feeds = $result ? entity_load_multiple('aggregator_feed', $result) : array();
+    foreach ($feeds as $feed) {
+      $this->derivatives[$feed->id()] = $base_plugin_definition;
+      $this->derivatives[$feed->id()]['delta'] = $feed->id();
+      $this->derivatives[$feed->id()]['admin_label'] = t('@title feed latest items', array('@title' => $feed->label()));
     }
     return $this->derivatives;
   }
diff --git a/core/modules/aggregator/lib/Drupal/aggregator/Plugin/aggregator/processor/DefaultProcessor.php b/core/modules/aggregator/lib/Drupal/aggregator/Plugin/aggregator/processor/DefaultProcessor.php
index 08777d1..c3515aa 100644
--- a/core/modules/aggregator/lib/Drupal/aggregator/Plugin/aggregator/processor/DefaultProcessor.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Plugin/aggregator/processor/DefaultProcessor.php
@@ -150,9 +150,11 @@ public function process(Feed $feed) {
    * Implements \Drupal\aggregator\Plugin\ProcessorInterface::remove().
    */
   public function remove(Feed $feed) {
-    $iids = Database::getConnection()->query('SELECT iid FROM {aggregator_item} WHERE fid = :fid', array(':fid' => $feed->id()))->fetchCol();
-    if ($iids) {
-      entity_delete_multiple('aggregator_item', $iids);
+    $result = entity_query('aggregator_item')
+      ->condition('fid', $feed->id())
+      ->execute();
+    if ($result) {
+      entity_delete_multiple('aggregator_item', $result);
     }
     // @todo This should be moved out to caller with a different message maybe.
     drupal_set_message(t('The news items from %site have been removed.', array('%site' => $feed->label())));
@@ -169,13 +171,12 @@ public function postProcess(Feed $feed) {
     if ($aggregator_clear != AGGREGATOR_CLEAR_NEVER) {
       // Remove all items that are older than flush item timer.
       $age = REQUEST_TIME - $aggregator_clear;
-      $iids = Database::getConnection()->query('SELECT iid FROM {aggregator_item} WHERE fid = :fid AND timestamp < :timestamp', array(
-        ':fid' => $feed->id(),
-        ':timestamp' => $age,
-      ))
-      ->fetchCol();
-      if ($iids) {
-        entity_delete_multiple('aggregator_item', $iids);
+      $result = entity_query('aggregator_item')
+        ->condition('fid', $feed->id())
+        ->condition('timestamp', $age, '<')
+        ->execute();
+      if ($result) {
+        entity_delete_multiple('aggregator_item', $result);
       }
     }
   }
