可以使用LINQ编写如下所示的查询吗?给我错误
“不能应用于double和string类型的操作数”
key = Request.QueryString["key"];
var query = from p in db.VERSIONs where p.vr_key == key select p;
答案 0 :(得分:3)
试试这个:
Double key = Convert.ToDouble(Request.QueryString["key"]);
var query = from p in db.VERSIONs where p.vr_key == key select p;
答案 1 :(得分:3)
使用TryParse方法确保您的字符串兼容/可转换,因为查询字符串可以是任何内容。否则,用户只需输入密钥即可轻松破解您的代码。
double key;
if(Double.TryParse(Request.QueryString["key"], out key))
{
var query = from p in db.VERSIONs
where p.vr_key == key
select p;
}
答案 2 :(得分:-1)
使用SqlFunctions.StringConvert转换p.vr_key
。
试试这个:
key = Request.QueryString["key"];
var query = from p in db.VERSIONs where SqlFunctions.StringConvert(p.vr_key) == key select p;