Webmatrix分页 - 包含引起问题的数组?

时间:2013-12-03 12:43:33

标签: sql razor pagination webmatrix

var pageSize = 6; 
var totalPages = 0; 
var count = 0;
var page = UrlData[0].IsInt() ? UrlData[0].AsInt() : 1;
var offset = (page -1) * pageSize;

string selectQueryString = "SELECT * FROM PropertyInfo ";

//some (if) statements which append various (where) clauses to the query

selectQueryString += "ORDER BY NumBedrooms DESC OFFSET @0 ROWS FETCH NEXT @1 ROWS  ONLY;";

string[] argArray = argList.ToArray();

然后我通过定义@ 0和@ 1

的值来尝试将它们拼凑在一起
queryResults = db.Query(selectQueryString, argArray, offset, pageSize);  

但是这给了我错误“从对象类型System.String []到已知的托管提供者本机类型没有映射。”

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:2)

我不相信你可以将数组和参数列表组合在一起 - 将所有参数切换到数组中,或者将它们全部切换为使用@ 0,@ 1样式序列。

另外,作为旁注,行:

var page = UrlData[0].IsInt() ? UrlData[0].AsInt() : 1;

可以使用默认参数AsInt()简化:

var page = UrlData[0].AsInt(1);