Нумерация страниц не работает дозвуковой - PullRequest
0 голосов
/ 01 сентября 2009

У меня проблемы с нумерацией страниц. Это не работает, т. Е. Для списка ниже всегда указывается число сотрудников.

Если я удалю метод Paged, появятся правильные результаты. Как еще я могу решить это? Я использую Subsonic 2.2. Пожалуйста, помогите - спасибо


SubSonic.SqlQuery query = DB.Select().Paged(startIndex, pageSize)
             .From<Staff>()
            .InnerJoin(StaffLocation.Schema.TableName, StaffLocation.Columns.StaffId, Staff.Schema.TableName, Staff.Columns.StaffId)
            .InnerJoin(StaffClientGroup.Schema.TableName, StaffClientGroup.Columns.StaffId, Staff.Schema.TableName, Staff.Columns.StaffId)
            .InnerJoin(StaffOutcome.Schema.TableName, StaffOutcome.Columns.StaffId, Staff.Schema.TableName, Staff.Columns.StaffId);
            query.Where("1").IsEqualTo("1");
            if (regionId > 0) query.And(StaffLocation.Columns.RegionId).IsEqualTo(regionId);
            if (clientGroup > 0) query.And(StaffClientGroup.Columns.ClientGroupId).IsEqualTo(clientGroup);
            if (outcome > 0) query.And(StaffOutcome.Columns.OutcomeId).IsEqualTo(outcome);
            query.Distinct();
            query.OrderBys.Add(Staff.Columns.FirstName);
            List<Staff> staffs = query.ExecuteTypedList<Staff>();
            return staffs;

Ответы [ 2 ]

2 голосов
/ 01 сентября 2009

Поместите точку останова от второй до последней строки, и, когда она нажмет, выполните query.BuildSqlStatement() в непосредственном окне Visual Studio и проверьте сгенерированный SQL. Это может помочь сузить его.

1 голос
/ 01 сентября 2009

Ну, я могу вам сказать, что это работает работает :) и у меня такое чувство, что ...

  1. Ваш startIndex неверен - попробуйте использовать 1 или 2
  2. Ваш размер страницы не установлен
  3. Что такое "Где (" 1 "). IsEqualTo (" 1 ")?

Вы можете попробовать захватить SQL, чтобы посмотреть, что создается ...

...