diff --git a/core/lib/Drupal/Core/Entity/Field/EntityReferenceField.php b/core/lib/Drupal/Core/Entity/Field/EntityReferenceField.php
new file mode 100644
index 0000000..2e86a1c
--- /dev/null
+++ b/core/lib/Drupal/Core/Entity/Field/EntityReferenceField.php
@@ -0,0 +1,32 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\Core\Entity\Field\EntityReferenceField.
+ */
+
+namespace Drupal\Core\Entity\Field;
+
+/**
+ * Defines a item list class for entity reference fields.
+ */
+class EntityReferenceField extends Field {
+
+  /**
+   * Returns all the entities referenced by this field.
+   *
+   * @return array
+   *   An array of entity objects.
+   */
+  public function getReferencedEntities() {
+    $target_type = $this->list[0]->getTargetType();
+
+    $ids = array();
+    foreach ($this->list as $item) {
+      $ids[] = $item->target_id;
+    }
+
+    return \Drupal::entityManager()->getStorageController($target_type)->loadMultiple($ids);
+  }
+
+}
diff --git a/core/lib/Drupal/Core/Entity/Plugin/DataType/EntityReferenceItem.php b/core/lib/Drupal/Core/Entity/Plugin/DataType/EntityReferenceItem.php
index 69b2400..6718404 100644
--- a/core/lib/Drupal/Core/Entity/Plugin/DataType/EntityReferenceItem.php
+++ b/core/lib/Drupal/Core/Entity/Plugin/DataType/EntityReferenceItem.php
@@ -25,7 +25,7 @@
  *   id = "entity_reference_field",
  *   label = @Translation("Entity reference field item"),
  *   description = @Translation("An entity field containing an entity reference."),
- *   list_class = "\Drupal\Core\Entity\Field\Field",
+ *   list_class = "\Drupal\Core\Entity\Field\EntityReferenceField",
  *   constraints = {"ValidReference" = TRUE}
  * )
  */
@@ -134,4 +134,15 @@ public function onChange($property_name) {
     }
     parent::onChange($property_name);
   }
+
+  /**
+   * Returns the entity type referenced by this field.
+   *
+   * @return string
+   *   The referenced entity type.
+   */
+  public function getTargetType() {
+    return $this->definition['settings']['target_type'];
+  }
+
 }
