我正在努力让亚音速选择查询工作,我正在编写分页方法并尝试以下
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,其余的查询工作正常吗?我看到我需要使用新的“查询”工具才能使用这两个,但我无法弄清楚查询语法?
任何语法帮助赞赏
答案 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注入。