LINQ to实体无法识别方法';Int32解析(System.String)和#x27;方法

LINQ to实体无法识别方法';Int32解析(System.String)和#x27;方法,linq,entity-framework,linq-to-entities,Linq,Entity Framework,Linq To Entities,我得到以下错误 LINQ to Entities无法识别方法“Int32 Parse(System.String)”方法,并且无法将此方法转换为存储表达式 我尝试过像这样重写int.Parse(WebUtils.GetQueryString(“代码”)) int intCode=int.TryParse(WebUtils.GetQueryString(“OfferCode”) 但仍然出现错误只需在查询上下文之外解析查询字符串: var query = from d in db.mytable

我得到以下错误

LINQ to Entities无法识别方法“Int32 Parse(System.String)”方法,并且无法将此方法转换为存储表达式

我尝试过像这样重写int.Parse(WebUtils.GetQueryString(“代码”)) int intCode=int.TryParse(WebUtils.GetQueryString(“OfferCode”)


但仍然出现错误

只需在查询上下文之外解析查询字符串:

var query = from d in db.mytable
         where d.Code == int.Parse(WebUtils.GetQueryString("Code"))
         orderby d.PersonInfo
         select d;

您可以将“Code”字段转换为string,而不是将查询字符串转换为int。 这应该是有效的:

int code = int.Parse(WebUtils.GetQueryString("Code"));

var query = from d in db.mytable
         where d.Code == code
         orderby d.PersonInfo
         select d;

无法将字符串转换为int。如果使用int.Parse,EF不知道如何将其转换为SQL。我这样做了,并得到以下错误-输入字符串的格式不正确。我使用的是EF 6.1,我就是这么做的。谢谢现在我遇到另一个错误-LINQ to Entities无法识别方法'System.String GetQueryString(System.String)'方法,并且该方法无法转换为存储表达式。有什么想法吗?非常感谢。这很有效。我可以问点别的吗。我对这段代码var query=from d in db.mytable select new{d.code,EditModeratedComments=”“}也有类似的问题;无法将类型“System.Int32”强制转换为类型“System.Object”。LINQ to实体仅支持强制转换EDM基元或枚举类型。感谢可能的副本
var queryString = WebUtils.GetQueryString("Code");
var query = from d in db.mytable
     where SqlFunctions.StringConvert(d.Code) == queryString 
     orderby d.PersonInfo
     select d;