报错: 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);
}

原文地址:https://www.cnblogs.com/darrenji/p/3951611.html