diff --git a/core/modules/views/src/EntityViewsData.php b/core/modules/views/src/EntityViewsData.php
index 87bfa116b3..438e6af356 100644
--- a/core/modules/views/src/EntityViewsData.php
+++ b/core/modules/views/src/EntityViewsData.php
@@ -54,6 +54,11 @@ class EntityViewsData implements EntityHandlerInterface, EntityViewsDataInterfac
   /**
    * The field storage definitions for all base fields of the entity type.
    *
+   * @deprecated in drupal:9.3.0 and is removed from drupal:10.0.0. No
+   * replacement is provided.
+   *
+   * @see https://www.drupal.org/node/3240278
+   *
    * @var \Drupal\Core\Field\FieldStorageDefinitionInterface[]
    */
   protected $fieldStorageDefinitions;
@@ -115,6 +120,11 @@ public static function createInstance(ContainerInterface $container, EntityTypeI
    * Gets the field storage definitions.
    *
    * @return \Drupal\Core\Field\FieldStorageDefinitionInterface[]
+   *
+   * @deprecated in drupal:9.3.0 and is removed from drupal:10.0.0. No
+   * replacement is provided.
+   *
+   * @see https://www.drupal.org/node/3240278
    */
   protected function getFieldStorageDefinitions() {
     if (!isset($this->fieldStorageDefinitions)) {
@@ -281,8 +291,13 @@ public function getViewsData() {
     // Load all typed data definitions of all fields. This should cover each of
     // the entity base, revision, data tables.
     $field_definitions = $this->entityFieldManager->getBaseFieldDefinitions($this->entityType->id());
+
+    $field_storage_definitions = array_map(function (FieldDefinitionInterface $definition) {
+      return $definition->getFieldStorageDefinition();
+    }, $field_definitions);
+
     /** @var \Drupal\Core\Entity\Sql\DefaultTableMapping $table_mapping */
-    if ($table_mapping = $this->storage->getTableMapping($field_definitions)) {
+    if ($table_mapping = $this->storage->getTableMapping($field_storage_definitions)) {
       // Fetch all fields that can appear in both the base table and the data
       // table.
       $entity_keys = $this->entityType->getKeys();
@@ -305,9 +320,9 @@ public function getViewsData() {
         }
       }
 
-      foreach ($field_definitions as $field_definition) {
-        if ($table_mapping->requiresDedicatedTableStorage($field_definition->getFieldStorageDefinition())) {
-          $table = $table_mapping->getDedicatedDataTableName($field_definition->getFieldStorageDefinition());
+      foreach ($field_storage_definitions as $field_storage_definition) {
+        if ($table_mapping->requiresDedicatedTableStorage($field_storage_definition)) {
+          $table = $table_mapping->getDedicatedDataTableName($field_storage_definition);
 
           $data[$table]['table']['group'] = $this->entityType->getLabel();
           $data[$table]['table']['provider'] = $this->entityType->getProvider();
@@ -320,7 +335,7 @@ public function getViewsData() {
           ];
 
           if ($revisionable) {
-            $revision_table = $table_mapping->getDedicatedRevisionTableName($field_definition->getFieldStorageDefinition());
+            $revision_table = $table_mapping->getDedicatedRevisionTableName($field_storage_definition);
 
             $data[$revision_table]['table']['group'] = $this->t('@entity_type revision', ['@entity_type' => $this->entityType->getLabel()]);
             $data[$revision_table]['table']['provider'] = $this->entityType->getProvider();
@@ -401,7 +416,7 @@ protected function addEntityLinks(array &$data) {
   protected function mapFieldDefinition($table, $field_name, FieldDefinitionInterface $field_definition, TableMappingInterface $table_mapping, &$table_data) {
     // Create a dummy instance to retrieve property definitions.
     $field_column_mapping = $table_mapping->getColumnNames($field_name);
-    $field_schema = $this->getFieldStorageDefinitions()[$field_name]->getSchema();
+    $field_schema = $field_definition->getFieldStorageDefinition()->getSchema();
 
     $field_definition_type = $field_definition->getType();
     // Add all properties to views table data. We need an entry for each
 
