报错: LINQ to Entities 不识别方法“Int32 Parse(System.String)

断点调试发现报错的语句为:

public ActionResult SomeMethod(string someId)
{
    var temp = SomeService.LoadEntities(a => a.ID == int.Parse(someId));
}

 

原因是:在Lambda表达式内部不能实现数据类型转换。
解决方法:在使用Lambda表达式之前,先对数据类型进行转换。

 

public ActionResult SomeMethod(string someId)
{
    int tempInt = int.Parse(someId);
    var temp = SomeService.LoadEntities(a => a.ID == tempInt);
}

posted @ 2014-09-02 15:53  Darren Ji  阅读(2033)  评论(1编辑  收藏  举报

我的公众号:新语新世界,欢迎关注。