0

嘿伙计们我有一个问题我希望你能帮助我通过它我正在按实体进行选择查询,我需要通过 url 中的 id 进行选择,例如 ?reqid=2

这是我尝试解决问题的代码,但它给出了以下消息:LINQ to Entities 无法识别方法“Int32 ToInt32(System.String)”方法,并且此方法无法转换为存储表达式。

string a = Request.QueryString["reqid"].ToString(); 

MasterPackEntities obj = new MasterPackEntities();
var ds = obj.news.Where(x => x.id == Convert.ToInt32(a)).ToList();
4

2 回答 2

3

在查询之外进行转换,因为查询提供者无法理解转换:

//consider using `TryParse` to handle invalid input
int a = int.Parse(Request.QueryString["reqid"].ToString());

MasterPackEntities obj = new MasterPackEntities();
var ds = obj.news.Where(x => x.id == a).ToList();
于 2013-10-30T16:22:12.330 回答
0

您收到此错误是因为LINQ to Entities尝试将其转换Convert.ToInt32为 SQL 语句,但该语句失败。你可以这样做:

int a = Convert.ToInt32(Request.QueryString["reqid"].ToString()); 

MasterPackEntities obj = new MasterPackEntities();
var ds = obj.news.Where(x => x.id == a).ToList();
于 2013-10-30T16:23:52.773 回答