var query = from d in db.mytable
where d.Code == int.Parse(WebUtils.GetQueryString("Code"))
orderby d.PersonInfo
select d;
我收到以下错误
LINQ to Entities无法识别方法' Int32 Parse(System.String)'方法,并且此方法无法转换为商店表达式。
我试图像这样重写int.Parse(WebUtils.GetQueryString(" Code")) int intCode = int.TryParse(WebUtils.GetQueryString(" OfferCode"));
但仍然出现错误
答案 0 :(得分:1)
只需在查询上下文之外解析查询字符串:
int code = int.Parse(WebUtils.GetQueryString("Code"));
var query = from d in db.mytable
where d.Code == code
orderby d.PersonInfo
select d;
答案 1 :(得分:0)
您可以转换'代码'字段到字符串而不是查询字符串到int。 这应该有效:
var queryString = WebUtils.GetQueryString("Code");
var query = from d in db.mytable
where SqlFunctions.StringConvert(d.Code) == queryString
orderby d.PersonInfo
select d;
无法将字符串转换为int。如果使用int.Parse
,EF不知道如何将其转换为SQL