diff --git a/core/modules/block/custom_block/lib/Drupal/custom_block/Entity/CustomBlock.php b/core/modules/block/custom_block/lib/Drupal/custom_block/Entity/CustomBlock.php
index 643fa33..f5f9805 100644
--- a/core/modules/block/custom_block/lib/Drupal/custom_block/Entity/CustomBlock.php
+++ b/core/modules/block/custom_block/lib/Drupal/custom_block/Entity/CustomBlock.php
@@ -187,9 +187,10 @@ public static function baseFieldDefinitions($entity_type) {
       ->setLabel(t('Subject'))
       ->setDescription(t('The custom block name.'));
 
-    $fields['type'] = FieldDefinition::create('string')
+    $fields['type'] = FieldDefinition::create('entity_reference')
       ->setLabel(t('Block type'))
-      ->setDescription(t('The block type.'));
+      ->setDescription(t('The block type.'))
+      ->setSetting('target_type', 'custom_block_type');
 
     $fields['log'] = FieldDefinition::create('string')
       ->setLabel(t('Revision log message'))
diff --git a/core/modules/comment/lib/Drupal/comment/Entity/Comment.php b/core/modules/comment/lib/Drupal/comment/Entity/Comment.php
index 6bcfd95..14aac9a 100644
--- a/core/modules/comment/lib/Drupal/comment/Entity/Comment.php
+++ b/core/modules/comment/lib/Drupal/comment/Entity/Comment.php
@@ -430,11 +430,10 @@ public static function baseFieldDefinitions($entity_type) {
       ->setLabel(t('Entity type'))
       ->setDescription(t('The entity type to which this comment is attached.'));
 
-    // @todo Convert to aa entity_reference field in
-    // https://drupal.org/node/2149859.
-    $fields['field_id'] = FieldDefinition::create('string')
+    $fields['field_id'] = FieldDefinition::create('entity_reference')
       ->setLabel(t('Field ID'))
-      ->setDescription(t('The comment field id.'));
+      ->setDescription(t('The comment field id.'))
+      ->setSetting('target_type', 'field_entity');
 
     $fields['field_name'] = FieldDefinition::create('string')
       ->setLabel(t('Comment field name'))
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Term.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Term.php
index b28a6d9..129fd59 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Term.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Term.php
@@ -207,9 +207,10 @@ public static function baseFieldDefinitions($entity_type) {
       ->setDescription(t('The term UUID.'))
       ->setReadOnly(TRUE);
 
-    $fields['vid'] = FieldDefinition::create('string')
-      ->setLabel(t('Vocabulary ID'))
-      ->setDescription(t('The ID of the vocabulary to which the term is assigned.'));
+    $fields['vid'] = FieldDefinition::create('entity_reference')
+      ->setLabel(t('Vocabulary'))
+      ->setDescription(t('The vocabulary to which the term is assigned.'))
+      ->setSetting('target_type', 'taxonomy_vocabulary');
 
     $fields['langcode'] = FieldDefinition::create('language')
       ->setLabel(t('Language code'))
