C# LINQ to Entities无法识别方法“Int32 Parse(System.String)”方法,并且无法将此方法转换为存储表达式
我得到这个错误,这是我的代码C# LINQ to Entities无法识别方法“Int32 Parse(System.String)”方法,并且无法将此方法转换为存储表达式,c#,entity-framework,ado,C#,Entity Framework,Ado,我得到这个错误,这是我的代码 var query1 = (from cust1 in context2.Clients where cust1.ID == int.Parse(textBox1.Text) select cust1).FirstOrDefault();` 即使我的ID是Int而不是string,也要在查询之外调用解析方法: var id=int.Parse(textBox1.Text); var result=contex
var query1 = (from cust1 in context2.Clients
where cust1.ID == int.Parse(textBox1.Text)
select cust1).FirstOrDefault();`
即使我的ID是Int而不是string,也要在查询之外调用解析方法:
var id=int.Parse(textBox1.Text);
var result=context2.Clients.FirstOrDefault(cust=> cust.ID ==id );
我认为最简单的解决方案是在查询之前转换为int:
var id = int.Parse(textBox1.Text);
var query1 = (from cust1 in context2.Clients
where cust1.ID == id
select cust1).FirstOrDefault();
或者,为了进行错误处理:
var id = 0;
if (!int.TryParse(textBox1.Text, out id)) {
// raise an error condition
}
var query1 = (from cust1 in context2.Clients
where cust1.ID == id
select cust1).FirstOrDefault();
必须首先将int.Parse设置为变量,如下所示:
var intValue = int.Parse(textBox1.Text);
var query1 = (from cust1 in context2.Clients
where cust1.ID == intValue
select cust1).FirstOrDefault();