Пример #1
0
        public void NullableBool_InOrderByClause()
        {
            CheckQuery(
                from k in Kitchens orderby k.PassedLastInspection select k.ID,
                "SELECT [t0].[ID] AS [value] FROM [KitchenTable] AS [t0] ORDER BY [t0].[PassedLastInspection] ASC");

            bool?nullableValue = true;

            CheckQuery(
                from k in Kitchens orderby nullableValue select k.ID,
                "SELECT [t0].[ID] AS [value] FROM [KitchenTable] AS [t0] ORDER BY @1 ASC",
                new CommandParameter("@1", 1));

            var kitchenParameter  = Expression.Parameter(typeof(Kitchen), "k");
            var nullablePredicate =
                Expression.Lambda <Func <Kitchen, bool?> > (
                    Expression.Equal(Expression.Property(kitchenParameter, "LastInspectionScore"), Expression.Constant(0, typeof(int?)), true, null),
                    kitchenParameter);

            CheckQuery(
                Kitchens.OrderBy(nullablePredicate).Select(k => k.ID),
                "SELECT [t0].[ID] AS [value] FROM [KitchenTable] AS [t0] "
                + "ORDER BY CASE WHEN ([t0].[LastInspectionScore] = @1) THEN 1 WHEN NOT ([t0].[LastInspectionScore] = @1) THEN 0 ELSE NULL END ASC",
                new CommandParameter("@1", 0));
        }
 public void Sum_WithOrderings()
 {
     CheckQuery(
         () => Kitchens.OrderBy(k => k.Name).Sum(k => k.RoomNumber),
         "SELECT SUM([t0].[RoomNumber]) AS [value] FROM [KitchenTable] AS [t0]"
         );
 }
 public void Sum_WithOrderings2()
 {
     CheckQuery(
         () => Kitchens.OrderBy(k => k.Name).Take(5).Sum(k => k.RoomNumber),
         "SELECT SUM([q0].[Key_RoomNumber]) AS [value] FROM (SELECT TOP (5) [t1].[ID] AS [Key_ID],"
         + "[t1].[Name] AS [Key_Name],[t1].[RestaurantID] AS [Key_RestaurantID],"
         + "[t1].[LastCleaningDay] AS [Key_LastCleaningDay],[t1].[PassedLastInspection] AS [Key_PassedLastInspection],"
         + "[t1].[LastInspectionScore] AS [Key_LastInspectionScore],[t1].[Name] AS [Value] "
         + "FROM [KitchenTable] AS [t1] ORDER BY [t1].[Name] ASC) AS [q0]");
 }