public void DevDiv573440_Rule_OuterApplyIntoScalarSubquery_must_run_before_Rule_OuterApplyOverProject() { const string expectedSql = @"SELECT [Extent1].[ID] AS [ID], (SELECT TOP (1) [Extent2].[Name] AS [Name] FROM [dbo].[DevDiv573440_Contact] AS [Extent2] WHERE [Extent2].[PartyID] = [Extent1].[ID]) AS [C1] FROM [dbo].[DevDiv573440_Party] AS [Extent1]"; Database.SetInitializer <DevDiv573440_Context>(null); using (var context = new DevDiv573440_Context()) { var query = from party in context.Parties select new { Id = party.ID, contact = context.Contacts.Where(x => x.PartyID == party.ID).Select(x => x.Name).FirstOrDefault() }; QueryTestHelpers.VerifyQuery(query, expectedSql); } }
public void DevDiv573440_Rule_OuterApplyIntoScalarSubquery_must_run_before_Rule_OuterApplyOverProject() { const string expectedSql = @"SELECT [Extent1].[ID] AS [ID], (SELECT TOP (1) [Extent2].[Name] AS [Name] FROM [dbo].[DevDiv573440_Contact] AS [Extent2] WHERE [Extent2].[PartyID] = [Extent1].[ID]) AS [C1] FROM [dbo].[DevDiv573440_Party] AS [Extent1]"; Database.SetInitializer<DevDiv573440_Context>(null); using (var context = new DevDiv573440_Context()) { var query = from party in context.Parties select new { Id = party.ID, contact = context.Contacts.Where(x => x.PartyID == party.ID).Select(x => x.Name).FirstOrDefault() }; QueryTestHelpers.VerifyQuery(query, expectedSql); } }