From bf23555d1c510935add17998a3e14ea69d2e9159 Mon Sep 17 00:00:00 2001 From: Andriy Svyryd Date: Wed, 6 Sep 2023 14:00:21 -0700 Subject: [PATCH] Make RelationalEntityTypeExtensions.GetDefaultTableName return null for owned abstract types in a TPC hierarchy Fixes #30060 --- .../Extensions/RelationalEntityTypeExtensions.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/EFCore.Relational/Extensions/RelationalEntityTypeExtensions.cs b/src/EFCore.Relational/Extensions/RelationalEntityTypeExtensions.cs index b6747539b35..aafeac6f7f8 100644 --- a/src/EFCore.Relational/Extensions/RelationalEntityTypeExtensions.cs +++ b/src/EFCore.Relational/Extensions/RelationalEntityTypeExtensions.cs @@ -61,6 +61,12 @@ public static class RelationalEntityTypeExtensions return entityType.GetRootType().GetTableName(); } + if (entityType.GetMappingStrategy() == RelationalAnnotationNames.TpcMappingStrategy + && !entityType.ClrType.IsInstantiable()) + { + return null; + } + var ownership = entityType.FindOwnership(); if (ownership != null && (ownership.IsUnique || entityType.IsMappedToJson())) @@ -81,12 +87,6 @@ public static class RelationalEntityTypeExtensions : $"{ownership.PrincipalToDependent.Name}_{name}"; } - if (entityType.GetMappingStrategy() == RelationalAnnotationNames.TpcMappingStrategy - && !entityType.ClrType.IsInstantiable()) - { - return null; - } - return truncate ? Uniquifier.Truncate(name, entityType.Model.GetMaxIdentifierLength()) : name;