Webpages / Webmatrix - 定义变量以保存从db.Query返回的动态类型

时间:2014-07-31 17:29:38

标签: webmatrix asp.net-webpages

如何声明变量以保存db.query的结果。

我正在使用Webpages和Webmatrix构建一些小应用程序。

作为身份验证过程的一部分,我必须根据登录的人对数据库执行稍微不同的查询。

var db = Database.Open("DBName");
var mySQL = "";

// WHAT LEVEL IS THE USER
if (PageData["editorLevel"] < 11){
    //set the sql
    //perform the db.Query
}else if (PageData["editorLevel"]<51){
    //set the sql
    //perform the db.Query      
}else if (PageData["editorLevel"] < 101){
    //set the sql   
    //perform the db.Query  
}

db.Query将包含不同的参数,因此必须在if else块中执行。

如果我这样做的话;

var myResults = db.Query(mySQL, parameter list)

然后myResults将无法在页面的其余部分中使用,因此我需要先定义myResults。我尝试过类型myResults和var myResults的各种变体,但gettign no where。

由于

1 个答案:

答案 0 :(得分:1)

数据库帮助程序查询方法返回IEnumerable<dynamic>,因此这可能是您的代码:

var db = Database.Open("DBName");
var mySQL = "";
IEnumerable<dynamic> myResults = null;

// WHAT LEVEL IS THE USER
if (PageData["editorLevel"] < 11){
    //set the sql
    myResults = db.Query(mySQL, parameter list);
}