@@ -3741,6 +3741,77 @@ FROM [LevelOne] AS [l10]
37413741ORDER BY [t].[Id]" ) ;
37423742 }
37433743
3744+ public override void SelectMany_navigation_property_followed_by_select_collection_navigation ( )
3745+ {
3746+ base . SelectMany_navigation_property_followed_by_select_collection_navigation ( ) ;
3747+
3748+ AssertSql (
3749+ @"SELECT [l1.OneToMany_Optional].[Id]
3750+ FROM [LevelOne] AS [l1]
3751+ INNER JOIN [LevelTwo] AS [l1.OneToMany_Optional] ON [l1].[Id] = [l1.OneToMany_Optional].[OneToMany_Optional_InverseId]
3752+ ORDER BY [l1.OneToMany_Optional].[Id]" ,
3753+ //
3754+ @"SELECT [l1.OneToMany_Optional.OneToMany_Optional].[Id], [l1.OneToMany_Optional.OneToMany_Optional].[Level2_Optional_Id], [l1.OneToMany_Optional.OneToMany_Optional].[Level2_Required_Id], [l1.OneToMany_Optional.OneToMany_Optional].[Name], [l1.OneToMany_Optional.OneToMany_Optional].[OneToMany_Optional_InverseId], [l1.OneToMany_Optional.OneToMany_Optional].[OneToMany_Optional_Self_InverseId], [l1.OneToMany_Optional.OneToMany_Optional].[OneToMany_Required_InverseId], [l1.OneToMany_Optional.OneToMany_Optional].[OneToMany_Required_Self_InverseId], [l1.OneToMany_Optional.OneToMany_Optional].[OneToOne_Optional_PK_InverseId], [l1.OneToMany_Optional.OneToMany_Optional].[OneToOne_Optional_SelfId], [t].[Id]
3755+ FROM [LevelThree] AS [l1.OneToMany_Optional.OneToMany_Optional]
3756+ INNER JOIN (
3757+ SELECT [l1.OneToMany_Optional0].[Id]
3758+ FROM [LevelOne] AS [l10]
3759+ INNER JOIN [LevelTwo] AS [l1.OneToMany_Optional0] ON [l10].[Id] = [l1.OneToMany_Optional0].[OneToMany_Optional_InverseId]
3760+ ) AS [t] ON [l1.OneToMany_Optional.OneToMany_Optional].[OneToMany_Optional_InverseId] = [t].[Id]
3761+ ORDER BY [t].[Id]" ) ;
3762+ }
3763+
3764+ public override void Multiple_SelectMany_navigation_property_followed_by_select_collection_navigation ( )
3765+ {
3766+ base . Multiple_SelectMany_navigation_property_followed_by_select_collection_navigation ( ) ;
3767+
3768+ AssertSql (
3769+ @"SELECT [l1.OneToMany_Optional.OneToMany_Optional].[Id]
3770+ FROM [LevelOne] AS [l1]
3771+ INNER JOIN [LevelTwo] AS [l1.OneToMany_Optional] ON [l1].[Id] = [l1.OneToMany_Optional].[OneToMany_Optional_InverseId]
3772+ INNER JOIN [LevelThree] AS [l1.OneToMany_Optional.OneToMany_Optional] ON [l1.OneToMany_Optional].[Id] = [l1.OneToMany_Optional.OneToMany_Optional].[OneToMany_Optional_InverseId]
3773+ ORDER BY [l1.OneToMany_Optional.OneToMany_Optional].[Id]" ,
3774+ //
3775+ @"SELECT [l1.OneToMany_Optional.OneToMany_Optional.OneToMany_Optional].[Id], [l1.OneToMany_Optional.OneToMany_Optional.OneToMany_Optional].[Level3_Optional_Id], [l1.OneToMany_Optional.OneToMany_Optional.OneToMany_Optional].[Level3_Required_Id], [l1.OneToMany_Optional.OneToMany_Optional.OneToMany_Optional].[Name], [l1.OneToMany_Optional.OneToMany_Optional.OneToMany_Optional].[OneToMany_Optional_InverseId], [l1.OneToMany_Optional.OneToMany_Optional.OneToMany_Optional].[OneToMany_Optional_Self_InverseId], [l1.OneToMany_Optional.OneToMany_Optional.OneToMany_Optional].[OneToMany_Required_InverseId], [l1.OneToMany_Optional.OneToMany_Optional.OneToMany_Optional].[OneToMany_Required_Self_InverseId], [l1.OneToMany_Optional.OneToMany_Optional.OneToMany_Optional].[OneToOne_Optional_PK_InverseId], [l1.OneToMany_Optional.OneToMany_Optional.OneToMany_Optional].[OneToOne_Optional_SelfId], [t].[Id]
3776+ FROM [LevelFour] AS [l1.OneToMany_Optional.OneToMany_Optional.OneToMany_Optional]
3777+ INNER JOIN (
3778+ SELECT [l1.OneToMany_Optional.OneToMany_Optional0].[Id]
3779+ FROM [LevelOne] AS [l10]
3780+ INNER JOIN [LevelTwo] AS [l1.OneToMany_Optional0] ON [l10].[Id] = [l1.OneToMany_Optional0].[OneToMany_Optional_InverseId]
3781+ INNER JOIN [LevelThree] AS [l1.OneToMany_Optional.OneToMany_Optional0] ON [l1.OneToMany_Optional0].[Id] = [l1.OneToMany_Optional.OneToMany_Optional0].[OneToMany_Optional_InverseId]
3782+ ) AS [t] ON [l1.OneToMany_Optional.OneToMany_Optional.OneToMany_Optional].[OneToMany_Optional_InverseId] = [t].[Id]
3783+ ORDER BY [t].[Id]" ) ;
3784+ }
3785+
3786+ public override void SelectMany_navigation_property_with_include_and_followed_by_select_collection_navigation ( )
3787+ {
3788+ base . SelectMany_navigation_property_with_include_and_followed_by_select_collection_navigation ( ) ;
3789+
3790+ AssertSql (
3791+ @"SELECT [l1.OneToMany_Optional].[Id], [l1.OneToMany_Optional].[Date], [l1.OneToMany_Optional].[Level1_Optional_Id], [l1.OneToMany_Optional].[Level1_Required_Id], [l1.OneToMany_Optional].[Name], [l1.OneToMany_Optional].[OneToMany_Optional_InverseId], [l1.OneToMany_Optional].[OneToMany_Optional_Self_InverseId], [l1.OneToMany_Optional].[OneToMany_Required_InverseId], [l1.OneToMany_Optional].[OneToMany_Required_Self_InverseId], [l1.OneToMany_Optional].[OneToOne_Optional_PK_InverseId], [l1.OneToMany_Optional].[OneToOne_Optional_SelfId]
3792+ FROM [LevelOne] AS [l1]
3793+ INNER JOIN [LevelTwo] AS [l1.OneToMany_Optional] ON [l1].[Id] = [l1.OneToMany_Optional].[OneToMany_Optional_InverseId]
3794+ ORDER BY [l1.OneToMany_Optional].[Id]" ,
3795+ //
3796+ @"SELECT [l1.OneToMany_Optional.OneToMany_Required].[Id], [l1.OneToMany_Optional.OneToMany_Required].[Level2_Optional_Id], [l1.OneToMany_Optional.OneToMany_Required].[Level2_Required_Id], [l1.OneToMany_Optional.OneToMany_Required].[Name], [l1.OneToMany_Optional.OneToMany_Required].[OneToMany_Optional_InverseId], [l1.OneToMany_Optional.OneToMany_Required].[OneToMany_Optional_Self_InverseId], [l1.OneToMany_Optional.OneToMany_Required].[OneToMany_Required_InverseId], [l1.OneToMany_Optional.OneToMany_Required].[OneToMany_Required_Self_InverseId], [l1.OneToMany_Optional.OneToMany_Required].[OneToOne_Optional_PK_InverseId], [l1.OneToMany_Optional.OneToMany_Required].[OneToOne_Optional_SelfId]
3797+ FROM [LevelThree] AS [l1.OneToMany_Optional.OneToMany_Required]
3798+ INNER JOIN (
3799+ SELECT DISTINCT [l1.OneToMany_Optional0].[Id]
3800+ FROM [LevelOne] AS [l10]
3801+ INNER JOIN [LevelTwo] AS [l1.OneToMany_Optional0] ON [l10].[Id] = [l1.OneToMany_Optional0].[OneToMany_Optional_InverseId]
3802+ ) AS [t] ON [l1.OneToMany_Optional.OneToMany_Required].[OneToMany_Required_InverseId] = [t].[Id]
3803+ ORDER BY [t].[Id]" ,
3804+ //
3805+ @"SELECT [l1.OneToMany_Optional.OneToMany_Optional].[Id], [l1.OneToMany_Optional.OneToMany_Optional].[Level2_Optional_Id], [l1.OneToMany_Optional.OneToMany_Optional].[Level2_Required_Id], [l1.OneToMany_Optional.OneToMany_Optional].[Name], [l1.OneToMany_Optional.OneToMany_Optional].[OneToMany_Optional_InverseId], [l1.OneToMany_Optional.OneToMany_Optional].[OneToMany_Optional_Self_InverseId], [l1.OneToMany_Optional.OneToMany_Optional].[OneToMany_Required_InverseId], [l1.OneToMany_Optional.OneToMany_Optional].[OneToMany_Required_Self_InverseId], [l1.OneToMany_Optional.OneToMany_Optional].[OneToOne_Optional_PK_InverseId], [l1.OneToMany_Optional.OneToMany_Optional].[OneToOne_Optional_SelfId], [t0].[Id]
3806+ FROM [LevelThree] AS [l1.OneToMany_Optional.OneToMany_Optional]
3807+ INNER JOIN (
3808+ SELECT [l1.OneToMany_Optional1].[Id]
3809+ FROM [LevelOne] AS [l11]
3810+ INNER JOIN [LevelTwo] AS [l1.OneToMany_Optional1] ON [l11].[Id] = [l1.OneToMany_Optional1].[OneToMany_Optional_InverseId]
3811+ ) AS [t0] ON [l1.OneToMany_Optional.OneToMany_Optional].[OneToMany_Optional_InverseId] = [t0].[Id]
3812+ ORDER BY [t0].[Id]" ) ;
3813+ }
3814+
37443815 private void AssertSql ( params string [ ] expected )
37453816 {
37463817 Fixture . TestSqlLoggerFactory . AssertBaseline ( expected ) ;
0 commit comments