按实体选择查询

本文关键字:查询 选择 实体 | 更新日期: 2023-09-27 18:37:26

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

这是我试图解决问题的代码,但它给出了以下消息:LINQ to 实体无法识别方法"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();

按实体选择查询

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

//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();

您收到此错误是因为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();