我遇到了分页问题。它不起作用,即列表人员数量对于下面的代码总是为零。
如果我删除分页方法,则会显示正确的结果。我怎么解决这个问题?我正在使用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;
答案 0 :(得分:2)
在第二行到最后一行放置一个断点,当它在Visual Studio立即窗口中点击执行query.BuildSqlStatement()
并检查生成的SQL。这可能有助于缩小范围。
答案 1 :(得分:1)
好吧,我可以告诉你 工作了:)我觉得......
您可能会尝试抓取SQL以查看正在生成的内容......