From ed18929078bb485eee4346391819ab24b59ded30 Mon Sep 17 00:00:00 2001 From: Andriy Svyryd Date: Tue, 10 Dec 2024 21:00:16 -0800 Subject: [PATCH] Create table mappings for complex types in TPC Fixes #35025 --- .../Conventions/SharedTableConvention.cs | 5 +- .../Metadata/Internal/RelationalModel.cs | 6 +- .../Query/SqlExpressions/SelectExpression.cs | 6 +- ...HocMiscellaneousQueryRelationalTestBase.cs | 63 +++++++++++++++++++ .../Metadata/RelationalModelTest.cs | 34 +++++++--- .../LazyLoadProxyTestBase.cs | 2 +- .../LazyLoadProxySqlServerTest.cs | 24 +++---- 7 files changed, 115 insertions(+), 25 deletions(-) diff --git a/src/EFCore.Relational/Metadata/Conventions/SharedTableConvention.cs b/src/EFCore.Relational/Metadata/Conventions/SharedTableConvention.cs index b0f722f86da..3cb3debca6f 100644 --- a/src/EFCore.Relational/Metadata/Conventions/SharedTableConvention.cs +++ b/src/EFCore.Relational/Metadata/Conventions/SharedTableConvention.cs @@ -236,7 +236,8 @@ private static void UniquifyColumnNames( } var identifyingMemberInfo = property.PropertyInfo ?? (MemberInfo?)property.FieldInfo; - if ((identifyingMemberInfo != null + if ((!(type is IConventionComplexType) + && identifyingMemberInfo != null && identifyingMemberInfo.IsSameAs(otherProperty.PropertyInfo ?? (MemberInfo?)otherProperty.FieldInfo)) || (property.IsPrimaryKey() && otherProperty.IsPrimaryKey()) || (property.IsConcurrencyToken && otherProperty.IsConcurrencyToken) @@ -286,7 +287,7 @@ private static void UniquifyColumnNames( } } - foreach (var complexProperty in type.GetDeclaredComplexProperties()) + foreach (var complexProperty in type.GetComplexProperties()) { UniquifyColumnNames(complexProperty.ComplexType, columns, storeObject, maxLength); } diff --git a/src/EFCore.Relational/Metadata/Internal/RelationalModel.cs b/src/EFCore.Relational/Metadata/Internal/RelationalModel.cs index ae7dd11e42c..c495ddcc7c5 100644 --- a/src/EFCore.Relational/Metadata/Internal/RelationalModel.cs +++ b/src/EFCore.Relational/Metadata/Internal/RelationalModel.cs @@ -528,7 +528,7 @@ private static void CreateTableMapping( CreateColumnMapping(column, property, tableMapping); } - foreach (var complexProperty in mappedType.GetDeclaredComplexProperties()) + foreach (var complexProperty in mappedType.GetComplexProperties()) { var complexType = complexProperty.ComplexType; @@ -539,6 +539,10 @@ private static void CreateTableMapping( complexTableMappings = []; complexType.AddRuntimeAnnotation(RelationalAnnotationNames.TableMappings, complexTableMappings); } + else if (complexTableMappings.Any(m => m.Table == table)) + { + continue; + } CreateTableMapping( relationalTypeMappingSource, diff --git a/src/EFCore.Relational/Query/SqlExpressions/SelectExpression.cs b/src/EFCore.Relational/Query/SqlExpressions/SelectExpression.cs index a482de4adb0..47060f11081 100644 --- a/src/EFCore.Relational/Query/SqlExpressions/SelectExpression.cs +++ b/src/EFCore.Relational/Query/SqlExpressions/SelectExpression.cs @@ -2658,8 +2658,10 @@ public static StructuralTypeShaperExpression GenerateComplexPropertyShaperExpres // We do not support complex type splitting, so we will only ever have a single table/view mapping to it. // See Issue #32853 and Issue #31248 - var complexTypeTable = complexProperty.ComplexType.GetViewOrTableMappings().Single().Table; - if (!containerProjection.TableMap.TryGetValue(complexTypeTable, out var tableAlias)) + var complexTypeTable = complexProperty.ComplexType.GetViewOrTableMappings().SingleOrDefault( + ctm => containerProjection.TableMap.ContainsKey(ctm.Table))?.Table; + if (complexTypeTable == null + || !containerProjection.TableMap.TryGetValue(complexTypeTable, out var tableAlias)) { complexTypeTable = complexProperty.ComplexType.GetDefaultMappings().Single().Table; tableAlias = containerProjection.TableMap[complexTypeTable]; diff --git a/test/EFCore.Relational.Specification.Tests/Query/AdHocMiscellaneousQueryRelationalTestBase.cs b/test/EFCore.Relational.Specification.Tests/Query/AdHocMiscellaneousQueryRelationalTestBase.cs index 6f58c2da809..5242da0c938 100644 --- a/test/EFCore.Relational.Specification.Tests/Query/AdHocMiscellaneousQueryRelationalTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Query/AdHocMiscellaneousQueryRelationalTestBase.cs @@ -238,6 +238,69 @@ public static DateTime Modify(DateTime date) } #endregion + + #region 35025 + + [ConditionalTheory] + [MemberData(nameof(IsAsyncData))] + public virtual async Task Select_base_with_ComplexTypes_in_TPC(bool async) + { + var contextFactory = await InitializeAsync(); + using var context = contextFactory.CreateContext(); + + var query1 = context.Events; + + var count = 0; + if (async) + { + count = (await query1.ToListAsync()).Count; + } + else + { + count = query1.ToList().Count; + } + + Assert.Equal(0, count); + } + + protected class Context35025(DbContextOptions options) : DbContext(options) + { + public DbSet Events { get; set; } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.Entity(builder => + { + builder.ComplexProperty(e => e.Knowledge).IsRequired(); + builder.UseTpcMappingStrategy(); + }); + modelBuilder.Entity(); + modelBuilder.Entity(); + } + + public abstract class EventBase + { + public int Id { get; set; } + public Period Knowledge { get; set; } + } + + public class EventWithIdentification : EventBase + { + public long ExtraId { get; set; } + } + + public class RealEvent : EventBase + { + } + + public class Period + { + public DateTimeOffset From { get; set; } + } + + } + + #endregion } } diff --git a/test/EFCore.Relational.Tests/Metadata/RelationalModelTest.cs b/test/EFCore.Relational.Tests/Metadata/RelationalModelTest.cs index e037d461016..cf0d26ba2f2 100644 --- a/test/EFCore.Relational.Tests/Metadata/RelationalModelTest.cs +++ b/test/EFCore.Relational.Tests/Metadata/RelationalModelTest.cs @@ -302,7 +302,7 @@ private static void AssertDefaultMappings(IRelationalModel model, Mapping mappin Assert.Equal(5, specialCustomerTable.EntityTypeMappings.Count()); Assert.All(specialCustomerTable.EntityTypeMappings, t => Assert.Null(t.IsSharedTablePrincipal)); - Assert.Equal(10, specialCustomerTable.Columns.Count()); + Assert.Equal(11, specialCustomerTable.Columns.Count()); Assert.True(specialtyColumn.IsNullable); } @@ -794,6 +794,8 @@ private static void AssertTables(IRelationalModel model, Mapping mapping) var customerPk = specialCustomerType.FindPrimaryKey(); + var complexType = abstractBaseType.GetComplexProperties().Single().ComplexType; + if (mapping == Mapping.TPT) { var baseTable = abstractBaseType.GetTableMappings().Single().Table; @@ -801,6 +803,9 @@ private static void AssertTables(IRelationalModel model, Mapping mapping) Assert.Equal(nameof(Customer), customerTable.Name); Assert.Null(abstractCustomerType.GetTableName()); Assert.Equal(nameof(SpecialCustomer), specialCustomerType.GetTableName()); + + Assert.Same(baseTable, complexType.GetTableMappings().Single().Table); + Assert.Equal(3, specialCustomerType.GetTableMappings().Count()); Assert.Null(specialCustomerType.GetTableMappings().First().IsSplitEntityTypePrincipal); Assert.True(specialCustomerType.GetTableMappings().First().IncludesDerivedTypes); @@ -956,6 +961,8 @@ private static void AssertTables(IRelationalModel model, Mapping mapping) Assert.Equal(baseTable.Name, abstractCustomerType.GetTableName()); Assert.Equal(baseTable.Name, specialCustomerType.GetTableName()); + Assert.Same(baseTable, complexType.GetTableMappings().Single().Table); + Assert.True(specialCustomerTypeMapping.IncludesDerivedTypes); Assert.Same(customerTable, specialCustomerTable); @@ -963,11 +970,10 @@ private static void AssertTables(IRelationalModel model, Mapping mapping) Assert.True(specialCustomerTable.EntityTypeMappings.First().IsSharedTablePrincipal); Assert.False(specialCustomerTable.EntityTypeMappings.Last().IsSharedTablePrincipal); - Assert.Equal(12, specialCustomerTable.Columns.Count()); + Assert.Equal(13, specialCustomerTable.Columns.Count()); var addressColumn = specialCustomerTable.Columns.Single( - c => - c.Name == nameof(SpecialCustomer.Details) + "_" + nameof(CustomerDetails.Address)); + c => c.Name == nameof(SpecialCustomer.Details) + "_" + nameof(CustomerDetails.Address)); Assert.True(specialtyColumn.IsNullable); Assert.True(addressColumn.IsNullable); @@ -1035,6 +1041,9 @@ private static void AssertTables(IRelationalModel model, Mapping mapping) Assert.Null(abstractCustomerType.GetTableName()); Assert.Equal(nameof(SpecialCustomer), specialCustomerType.GetTableName()); + Assert.Equal(idProperty.GetTableColumnMappings().Select(m => m.TableMapping.Table).OrderBy(t => t.Name), + complexType.GetTableMappings().Select(m => m.Table).OrderBy(t => t.Name)); + Assert.False(specialCustomerTypeMapping.IncludesDerivedTypes); Assert.NotSame(customerTable, specialCustomerTable); @@ -1042,7 +1051,7 @@ private static void AssertTables(IRelationalModel model, Mapping mapping) Assert.Empty(customerTable.ReferencingForeignKeyConstraints); Assert.Null(customerTable.EntityTypeMappings.Single().IsSharedTablePrincipal); - Assert.Equal(5, customerTable.Columns.Count()); + Assert.Equal(6, customerTable.Columns.Count()); Assert.Single(specialCustomerTable.EntityTypeMappings); @@ -1055,8 +1064,7 @@ private static void AssertTables(IRelationalModel model, Mapping mapping) Assert.Equal(2, extraSpecialCustomerTable.EntityTypeMappings.Count()); var addressColumn = extraSpecialCustomerTable.Columns.Single( - c => - c.Name == nameof(SpecialCustomer.Details) + "_" + nameof(CustomerDetails.Address)); + c => c.Name == nameof(SpecialCustomer.Details) + "_" + nameof(CustomerDetails.Address)); Assert.False(addressColumn.IsNullable); var abstractStringProperty = abstractStringColumn.PropertyMappings.Single().Property; @@ -2053,6 +2061,8 @@ private IRelationalModel CreateTestModel( cb.UseTptMappingStrategy(); } + cb.ComplexProperty(c => c.Tag).IsRequired(); + // TODO: Don't map it on the base #19811 cb.Property("SpecialtyAk"); }); @@ -2468,6 +2478,7 @@ public void Can_use_relational_model_with_entity_splitting_and_table_splitting_o modelBuilder.Ignore(); modelBuilder.Ignore(); + modelBuilder.Ignore(); //#31248 modelBuilder.Entity( cb => @@ -2657,6 +2668,7 @@ public void Can_use_relational_model_with_entity_splitting_and_table_splitting_o modelBuilder.Ignore(); modelBuilder.Ignore(); + modelBuilder.Ignore(); //#31248 modelBuilder.Entity( cb => @@ -2777,6 +2789,7 @@ public void Can_use_relational_model_with_entity_splitting_and_table_splitting_o modelBuilder.Ignore(); modelBuilder.Ignore(); + modelBuilder.Ignore(); //#31248 modelBuilder.Entity( cb => @@ -2907,6 +2920,7 @@ public void Can_use_relational_model_with_entity_splitting_and_table_splitting_o public void Can_use_relational_model_with_keyless_TPH() { var modelBuilder = CreateConventionModelBuilder(); + modelBuilder.Ignore(); modelBuilder.Entity( cb => @@ -3226,6 +3240,12 @@ private enum MyEnum : ulong private abstract class AbstractBase { public int Id { get; set; } + public Tag Tag { get; set; } + } + + public class Tag + { + public string Name { get; set; } } private class Customer : AbstractBase diff --git a/test/EFCore.Specification.Tests/LazyLoadProxyTestBase.cs b/test/EFCore.Specification.Tests/LazyLoadProxyTestBase.cs index 2012b95f63d..7409f555a8a 100644 --- a/test/EFCore.Specification.Tests/LazyLoadProxyTestBase.cs +++ b/test/EFCore.Specification.Tests/LazyLoadProxyTestBase.cs @@ -4365,7 +4365,7 @@ public virtual void Lazy_loading_finds_correct_entity_type_with_multiple_queries } [ConditionalFact] - public virtual void Lazy_loading_shares_service__property_on_derived_types() + public virtual void Lazy_loading_shares_service_property_on_derived_types() { using var context = CreateContext(lazyLoadingEnabled: true); var parson = context.Set().Single(); diff --git a/test/EFCore.SqlServer.FunctionalTests/LazyLoadProxySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/LazyLoadProxySqlServerTest.cs index 596125f4ee1..c2d6dde0dd2 100644 --- a/test/EFCore.SqlServer.FunctionalTests/LazyLoadProxySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/LazyLoadProxySqlServerTest.cs @@ -37,7 +37,7 @@ public override void Lazy_load_many_to_one_reference_to_principal(EntityState st : """ @__p_0='707' -SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] +SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating1], [p].[Culture_Species1], [p].[Culture_Subspecies1], [p].[Culture_Validation1], [p].[License_Culture_License_Charge], [p].[License_Culture_License_Title], [p].[Tag_Culture_License_Tag_Text], [p].[Tog_Culture_License_Tog_Text], [p].[Manufacturer_Culture_Manufacturer_Name], [p].[Manufacturer_Culture_Manufacturer_Rating], [p].[Tag_Culture_Manufacturer_Tag_Text], [p].[Tog_Culture_Manufacturer_Tog_Text], [p].[Milk_Rating1], [p].[Milk_Species1], [p].[Milk_Subspecies1], [p].[Milk_Validation1], [p].[License_Milk_License_Charge], [p].[License_Milk_License_Title], [p].[Tag_Milk_License_Tag_Text], [p].[Tog_Milk_License_Tog_Text], [p].[Manufacturer_Milk_Manufacturer_Name], [p].[Manufacturer_Milk_Manufacturer_Rating], [p].[Tag_Milk_Manufacturer_Tag_Text], [p].[Tog_Milk_Manufacturer_Tog_Text], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] FROM [Parent] AS [p] WHERE [p].[Id] = @__p_0 """); @@ -53,7 +53,7 @@ public override void Lazy_load_one_to_one_reference_to_principal(EntityState sta : """ @__p_0='707' -SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] +SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating1], [p].[Culture_Species1], [p].[Culture_Subspecies1], [p].[Culture_Validation1], [p].[License_Culture_License_Charge], [p].[License_Culture_License_Title], [p].[Tag_Culture_License_Tag_Text], [p].[Tog_Culture_License_Tog_Text], [p].[Manufacturer_Culture_Manufacturer_Name], [p].[Manufacturer_Culture_Manufacturer_Rating], [p].[Tag_Culture_Manufacturer_Tag_Text], [p].[Tog_Culture_Manufacturer_Tog_Text], [p].[Milk_Rating1], [p].[Milk_Species1], [p].[Milk_Subspecies1], [p].[Milk_Validation1], [p].[License_Milk_License_Charge], [p].[License_Milk_License_Title], [p].[Tag_Milk_License_Tag_Text], [p].[Tog_Milk_License_Tog_Text], [p].[Manufacturer_Milk_Manufacturer_Name], [p].[Manufacturer_Milk_Manufacturer_Rating], [p].[Tag_Milk_Manufacturer_Tag_Text], [p].[Tog_Milk_Manufacturer_Tog_Text], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] FROM [Parent] AS [p] WHERE [p].[Id] = @__p_0 """); @@ -83,7 +83,7 @@ public override void Lazy_load_one_to_one_PK_to_PK_reference_to_principal(Entity """ @__p_0='707' -SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] +SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating1], [p].[Culture_Species1], [p].[Culture_Subspecies1], [p].[Culture_Validation1], [p].[License_Culture_License_Charge], [p].[License_Culture_License_Title], [p].[Tag_Culture_License_Tag_Text], [p].[Tog_Culture_License_Tog_Text], [p].[Manufacturer_Culture_Manufacturer_Name], [p].[Manufacturer_Culture_Manufacturer_Rating], [p].[Tag_Culture_Manufacturer_Tag_Text], [p].[Tog_Culture_Manufacturer_Tog_Text], [p].[Milk_Rating1], [p].[Milk_Species1], [p].[Milk_Subspecies1], [p].[Milk_Validation1], [p].[License_Milk_License_Charge], [p].[License_Milk_License_Title], [p].[Tag_Milk_License_Tag_Text], [p].[Tog_Milk_License_Tog_Text], [p].[Manufacturer_Milk_Manufacturer_Name], [p].[Manufacturer_Milk_Manufacturer_Rating], [p].[Tag_Milk_Manufacturer_Tag_Text], [p].[Tog_Milk_Manufacturer_Tog_Text], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] FROM [Parent] AS [p] WHERE [p].[Id] = @__p_0 """); @@ -139,7 +139,7 @@ public override void Lazy_load_many_to_one_reference_to_principal_not_found(Enti """ @__p_0='787' -SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] +SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating1], [p].[Culture_Species1], [p].[Culture_Subspecies1], [p].[Culture_Validation1], [p].[License_Culture_License_Charge], [p].[License_Culture_License_Title], [p].[Tag_Culture_License_Tag_Text], [p].[Tog_Culture_License_Tog_Text], [p].[Manufacturer_Culture_Manufacturer_Name], [p].[Manufacturer_Culture_Manufacturer_Rating], [p].[Tag_Culture_Manufacturer_Tag_Text], [p].[Tog_Culture_Manufacturer_Tog_Text], [p].[Milk_Rating1], [p].[Milk_Species1], [p].[Milk_Subspecies1], [p].[Milk_Validation1], [p].[License_Milk_License_Charge], [p].[License_Milk_License_Title], [p].[Tag_Milk_License_Tag_Text], [p].[Tog_Milk_License_Tog_Text], [p].[Manufacturer_Milk_Manufacturer_Name], [p].[Manufacturer_Milk_Manufacturer_Rating], [p].[Tag_Milk_Manufacturer_Tag_Text], [p].[Tog_Milk_Manufacturer_Tog_Text], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] FROM [Parent] AS [p] WHERE [p].[Id] = @__p_0 """); @@ -153,7 +153,7 @@ public override void Lazy_load_one_to_one_reference_to_principal_not_found(Entit """ @__p_0='787' -SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] +SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating1], [p].[Culture_Species1], [p].[Culture_Subspecies1], [p].[Culture_Validation1], [p].[License_Culture_License_Charge], [p].[License_Culture_License_Title], [p].[Tag_Culture_License_Tag_Text], [p].[Tog_Culture_License_Tog_Text], [p].[Manufacturer_Culture_Manufacturer_Name], [p].[Manufacturer_Culture_Manufacturer_Rating], [p].[Tag_Culture_Manufacturer_Tag_Text], [p].[Tog_Culture_Manufacturer_Tog_Text], [p].[Milk_Rating1], [p].[Milk_Species1], [p].[Milk_Subspecies1], [p].[Milk_Validation1], [p].[License_Milk_License_Charge], [p].[License_Milk_License_Title], [p].[Tag_Milk_License_Tag_Text], [p].[Tog_Milk_License_Tog_Text], [p].[Manufacturer_Milk_Manufacturer_Name], [p].[Manufacturer_Milk_Manufacturer_Rating], [p].[Tag_Milk_Manufacturer_Tag_Text], [p].[Tog_Milk_Manufacturer_Tog_Text], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] FROM [Parent] AS [p] WHERE [p].[Id] = @__p_0 """); @@ -227,7 +227,7 @@ public override void Lazy_load_many_to_one_reference_to_principal_alternate_key( """ @__p_0='Root' (Size = 450) -SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] +SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating1], [p].[Culture_Species1], [p].[Culture_Subspecies1], [p].[Culture_Validation1], [p].[License_Culture_License_Charge], [p].[License_Culture_License_Title], [p].[Tag_Culture_License_Tag_Text], [p].[Tog_Culture_License_Tog_Text], [p].[Manufacturer_Culture_Manufacturer_Name], [p].[Manufacturer_Culture_Manufacturer_Rating], [p].[Tag_Culture_Manufacturer_Tag_Text], [p].[Tog_Culture_Manufacturer_Tog_Text], [p].[Milk_Rating1], [p].[Milk_Species1], [p].[Milk_Subspecies1], [p].[Milk_Validation1], [p].[License_Milk_License_Charge], [p].[License_Milk_License_Title], [p].[Tag_Milk_License_Tag_Text], [p].[Tog_Milk_License_Tog_Text], [p].[Manufacturer_Milk_Manufacturer_Name], [p].[Manufacturer_Milk_Manufacturer_Rating], [p].[Tag_Milk_Manufacturer_Tag_Text], [p].[Tog_Milk_Manufacturer_Tog_Text], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] FROM [Parent] AS [p] WHERE [p].[AlternateId] = @__p_0 """); @@ -241,7 +241,7 @@ public override void Lazy_load_one_to_one_reference_to_principal_alternate_key(E """ @__p_0='Root' (Size = 450) -SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] +SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating1], [p].[Culture_Species1], [p].[Culture_Subspecies1], [p].[Culture_Validation1], [p].[License_Culture_License_Charge], [p].[License_Culture_License_Title], [p].[Tag_Culture_License_Tag_Text], [p].[Tog_Culture_License_Tog_Text], [p].[Manufacturer_Culture_Manufacturer_Name], [p].[Manufacturer_Culture_Manufacturer_Rating], [p].[Tag_Culture_Manufacturer_Tag_Text], [p].[Tog_Culture_Manufacturer_Tog_Text], [p].[Milk_Rating1], [p].[Milk_Species1], [p].[Milk_Subspecies1], [p].[Milk_Validation1], [p].[License_Milk_License_Charge], [p].[License_Milk_License_Title], [p].[Tag_Milk_License_Tag_Text], [p].[Tog_Milk_License_Tog_Text], [p].[Manufacturer_Milk_Manufacturer_Name], [p].[Manufacturer_Milk_Manufacturer_Rating], [p].[Tag_Milk_Manufacturer_Tag_Text], [p].[Tog_Milk_Manufacturer_Tog_Text], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] FROM [Parent] AS [p] WHERE [p].[AlternateId] = @__p_0 """); @@ -299,7 +299,7 @@ public override void Lazy_load_many_to_one_reference_to_principal_shadow_fk(Enti : """ @__p_0='707' -SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] +SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating1], [p].[Culture_Species1], [p].[Culture_Subspecies1], [p].[Culture_Validation1], [p].[License_Culture_License_Charge], [p].[License_Culture_License_Title], [p].[Tag_Culture_License_Tag_Text], [p].[Tog_Culture_License_Tog_Text], [p].[Manufacturer_Culture_Manufacturer_Name], [p].[Manufacturer_Culture_Manufacturer_Rating], [p].[Tag_Culture_Manufacturer_Tag_Text], [p].[Tog_Culture_Manufacturer_Tog_Text], [p].[Milk_Rating1], [p].[Milk_Species1], [p].[Milk_Subspecies1], [p].[Milk_Validation1], [p].[License_Milk_License_Charge], [p].[License_Milk_License_Title], [p].[Tag_Milk_License_Tag_Text], [p].[Tog_Milk_License_Tog_Text], [p].[Manufacturer_Milk_Manufacturer_Name], [p].[Manufacturer_Milk_Manufacturer_Rating], [p].[Tag_Milk_Manufacturer_Tag_Text], [p].[Tog_Milk_Manufacturer_Tog_Text], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] FROM [Parent] AS [p] WHERE [p].[Id] = @__p_0 """); @@ -315,7 +315,7 @@ public override void Lazy_load_one_to_one_reference_to_principal_shadow_fk(Entit : """ @__p_0='707' -SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] +SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating1], [p].[Culture_Species1], [p].[Culture_Subspecies1], [p].[Culture_Validation1], [p].[License_Culture_License_Charge], [p].[License_Culture_License_Title], [p].[Tag_Culture_License_Tag_Text], [p].[Tog_Culture_License_Tog_Text], [p].[Manufacturer_Culture_Manufacturer_Name], [p].[Manufacturer_Culture_Manufacturer_Rating], [p].[Tag_Culture_Manufacturer_Tag_Text], [p].[Tog_Culture_Manufacturer_Tog_Text], [p].[Milk_Rating1], [p].[Milk_Species1], [p].[Milk_Subspecies1], [p].[Milk_Validation1], [p].[License_Milk_License_Charge], [p].[License_Milk_License_Title], [p].[Tag_Milk_License_Tag_Text], [p].[Tog_Milk_License_Tog_Text], [p].[Manufacturer_Milk_Manufacturer_Name], [p].[Manufacturer_Milk_Manufacturer_Rating], [p].[Tag_Milk_Manufacturer_Tag_Text], [p].[Tog_Milk_Manufacturer_Tog_Text], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] FROM [Parent] AS [p] WHERE [p].[Id] = @__p_0 """); @@ -373,7 +373,7 @@ public override void Lazy_load_many_to_one_reference_to_principal_composite_key( @__p_0='Root' (Size = 450) @__p_1='707' -SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] +SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating1], [p].[Culture_Species1], [p].[Culture_Subspecies1], [p].[Culture_Validation1], [p].[License_Culture_License_Charge], [p].[License_Culture_License_Title], [p].[Tag_Culture_License_Tag_Text], [p].[Tog_Culture_License_Tog_Text], [p].[Manufacturer_Culture_Manufacturer_Name], [p].[Manufacturer_Culture_Manufacturer_Rating], [p].[Tag_Culture_Manufacturer_Tag_Text], [p].[Tog_Culture_Manufacturer_Tog_Text], [p].[Milk_Rating1], [p].[Milk_Species1], [p].[Milk_Subspecies1], [p].[Milk_Validation1], [p].[License_Milk_License_Charge], [p].[License_Milk_License_Title], [p].[Tag_Milk_License_Tag_Text], [p].[Tog_Milk_License_Tog_Text], [p].[Manufacturer_Milk_Manufacturer_Name], [p].[Manufacturer_Milk_Manufacturer_Rating], [p].[Tag_Milk_Manufacturer_Tag_Text], [p].[Tog_Milk_Manufacturer_Tog_Text], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] FROM [Parent] AS [p] WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1 """); @@ -388,7 +388,7 @@ public override void Lazy_load_one_to_one_reference_to_principal_composite_key(E @__p_0='Root' (Size = 450) @__p_1='707' -SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] +SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating1], [p].[Culture_Species1], [p].[Culture_Subspecies1], [p].[Culture_Validation1], [p].[License_Culture_License_Charge], [p].[License_Culture_License_Title], [p].[Tag_Culture_License_Tag_Text], [p].[Tog_Culture_License_Tog_Text], [p].[Manufacturer_Culture_Manufacturer_Name], [p].[Manufacturer_Culture_Manufacturer_Rating], [p].[Tag_Culture_Manufacturer_Tag_Text], [p].[Tog_Culture_Manufacturer_Tog_Text], [p].[Milk_Rating1], [p].[Milk_Species1], [p].[Milk_Subspecies1], [p].[Milk_Validation1], [p].[License_Milk_License_Charge], [p].[License_Milk_License_Title], [p].[Tag_Milk_License_Tag_Text], [p].[Tog_Milk_License_Tog_Text], [p].[Manufacturer_Milk_Manufacturer_Name], [p].[Manufacturer_Milk_Manufacturer_Rating], [p].[Tag_Milk_Manufacturer_Tag_Text], [p].[Tog_Milk_Manufacturer_Tog_Text], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] FROM [Parent] AS [p] WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1 """); @@ -447,7 +447,7 @@ public override void Top_level_projection_track_entities_before_passing_to_clien AssertSql( """ -SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] +SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator], [p].[Culture_Rating1], [p].[Culture_Species1], [p].[Culture_Subspecies1], [p].[Culture_Validation1], [p].[License_Culture_License_Charge], [p].[License_Culture_License_Title], [p].[Tag_Culture_License_Tag_Text], [p].[Tog_Culture_License_Tog_Text], [p].[Manufacturer_Culture_Manufacturer_Name], [p].[Manufacturer_Culture_Manufacturer_Rating], [p].[Tag_Culture_Manufacturer_Tag_Text], [p].[Tog_Culture_Manufacturer_Tog_Text], [p].[Milk_Rating1], [p].[Milk_Species1], [p].[Milk_Subspecies1], [p].[Milk_Validation1], [p].[License_Milk_License_Charge], [p].[License_Milk_License_Title], [p].[Tag_Milk_License_Tag_Text], [p].[Tog_Milk_License_Tog_Text], [p].[Manufacturer_Milk_Manufacturer_Name], [p].[Manufacturer_Milk_Manufacturer_Rating], [p].[Tag_Milk_Manufacturer_Tag_Text], [p].[Tog_Milk_Manufacturer_Tog_Text], [p].[Culture_Rating], [p].[Culture_Species], [p].[Culture_Subspecies], [p].[Culture_Validation], [p].[Culture_License_Charge], [p].[Culture_License_Title], [p].[Culture_License_Tag_Text], [p].[Culture_License_Tog_Text], [p].[Culture_Manufacturer_Name], [p].[Culture_Manufacturer_Rating], [p].[Culture_Manufacturer_Tag_Text], [p].[Culture_Manufacturer_Tog_Text], [p].[Milk_Rating], [p].[Milk_Species], [p].[Milk_Subspecies], [p].[Milk_Validation], [p].[Milk_License_Charge], [p].[Milk_License_Title], [p].[Milk_License_Tag_Text], [p].[Milk_License_Tog_Text], [p].[Milk_Manufacturer_Name], [p].[Milk_Manufacturer_Rating], [p].[Milk_Manufacturer_Tag_Text], [p].[Milk_Manufacturer_Tog_Text] FROM [Parent] AS [p] ORDER BY [p].[Id]