SubSonic分页语法帮助

时间:2009-05-13 14:50:50

标签: subsonic

我正在努力让亚音速选择查询工作,我正在编写分页方法并尝试以下

Select ns = new Select(maincolumns.ToArray());
ns.PageSize = 10;   ** Error Here **
ns.PageIndex = 1;   ** And Error Here **
ns.Where("IsLive").IsEqualTo(true);
ns.And("Title").Like("%" + SearchTerm + "%");
ns.OrderAsc("RentalExVat");
return ns.ExecuteDataSet().Tables[0];

现在它无法识别ns.PageSize或ns.PageIndex,其余的查询工作正常吗?我看到我需要使用新的“查询”工具才能使用这两个,但我无法弄清楚查询语法?

任何语法帮助赞赏

1 个答案:

答案 0 :(得分:4)

SubSonic的查询语法是“流畅的”,因此在您的代码示例中,Where子句不会应用于您的查询。这段代码可能效果更好:

Select ns = new Select(maincolumns.ToArray());
ns = ns.Where("IsLive").IsEqualTo(true)
       .And("Title").Like("%" + SearchTerm + "%")
       .OrderAsc("RentalExVat")
       .Paged(1, 10); // paging is set here
return ns.ExecuteDataSet().Tables[0];

另外,请确保您的'SearchTerm'已被SQL转义(或使用备用调用模式),否则您很容易受到SQL注入。