Ejemplo n.º 1
0
        public void OrderByConstant2([IncludeDataSources(false, TestProvName.AllSQLite)] string context)
        {
            using (var db = (TestDataConnection)GetDataContext(context))
            {
                var param = 2;
                var query =
                    from ch in db.Child
                    orderby Sql.ToNullable((int)Sql.Abs(1) !) descending, Sql.ToNullable((int)Sql.Abs(param + 1) !)
                select ch;

                query.ToArray();

                Assert.That(db.LastQuery, Does.Not.Contain("ORDER BY"));
            }
        }
Ejemplo n.º 2
0
        public void OrderByImmutableSubquery([IncludeDataSources(false, TestProvName.AllSQLite)] string context)
        {
            using (var db = (TestDataConnection)GetDataContext(context))
            {
                var param = 2;

                var query =
                    from ch in db.Child
                    orderby Sql.ToNullable((int)Sql.Abs(1) !) descending, Sql.ToNullable((int)Sql.Abs(param + 1) !)
                select new { ch.ChildID, ch.ParentID, OrderElement = (int?)param };

                query.AsSubQuery().OrderBy(c => c.OrderElement).ToArray();

                Assert.That(db.LastQuery, Does.Not.Contain("ORDER BY"));
            }
        }
Ejemplo n.º 3
0
        public void OrderByUnionImmutable([IncludeDataSources(false, TestProvName.AllSQLite)] string context)
        {
            using (var db = (TestDataConnection)GetDataContext(context))
            {
                var param = 2;

                var query1 =
                    from ch in db.Child
                    orderby Sql.ToNullable((int)Sql.Abs(1) !) descending, Sql.ToNullable((int)Sql.Abs(param) !)
                select new { ch.ChildID, ch.ParentID, OrderElement = Sql.ToNullable((int)Sql.Abs(1) !) };

                var query2 =
                    from ch in db.Child
                    orderby "1" descending, param
                    select new { ch.ChildID, ch.ParentID, OrderElement = (int?)param };

                var result = query1.Concat(query2).OrderBy(c => c.OrderElement)
                             .ToArray();

                Assert.That(db.LastQuery, Does.Contain("ORDER BY"));
            }
        }
    }