Пример #1
0
        public void QueryDefaultPageSize()
        {
            var qry = new TypicalQuery();

            qry.PageNumber = 10;
            var sql = qry.ResolveSql();

            Assert.IsTrue(sql.Equals("SELECT [FirstName], [Weight], [SomeDate], [Notes], [Id] FROM [SampleTable]  <<macro>> ORDER BY [FirstName] OFFSET 200 ROWS FETCH NEXT 20 ROWS ONLY"));
        }
Пример #2
0
        public void DebugSql()
        {
            var qry = new TypicalQuery()
            {
                MinWeight     = 9,
                MaxWeight     = 56,
                FirstNameLike = "warbler",
                MinDate       = new DateTime(2020, 1, 15)
            };

            qry.ResolveSql(removeMacros: true);
            string debug = qry.DebugSql;

            Assert.IsTrue(debug.ReplaceWhitespace().Equals(
                              @"DECLARE @MinWeight decimal, @MaxWeight decimal, @FirstNameLike nvarchar(max), @MinDate datetime;
                SET @MinWeight = 9;
                SET @MaxWeight = 56;
                SET @FirstNameLike = 'warbler';
                SET @MinDate = '1/15/2020 12:00:00 AM';

                SELECT [FirstName], [Weight], [SomeDate], [Notes], [Id] FROM [SampleTable] WHERE [Weight]>=@minWeight AND [Weight]<=@maxWeight AND [FirstName] LIKE '%'+@firstNameLike+'%' AND [SomeDate]>=@minDate  ORDER BY [FirstName]".ReplaceWhitespace()));
        }