是否可以使用 LINQ 编写如下查询?给我错误
“不能应用于 double 和 string 类型的操作数”
key = Request.QueryString["key"];
var query = from p in db.VERSIONs where p.vr_key == key select p;
试试这个:
Double key = Convert.ToDouble(Request.QueryString["key"]);
var query = from p in db.VERSIONs where p.vr_key == key select p;
使用 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;
}
使用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;