LINQ到实体无法识别方法“的Int32解析(System.String)”的方法,而这种方法不能被翻译成店表达

问题描述:

我来到这里这个错误是我的代码LINQ到实体无法识别方法“的Int32解析(System.String)”的方法,而这种方法不能被翻译成店表达

var query1 = (from cust1 in context2.Clients 
       where cust1.ID == int.Parse(textBox1.Text) 
       select cust1).FirstOrDefault();` 

即使我的ID是一个i​​nt不是字符串

呼叫Parse方法查询外:

var id=int.Parse(textBox1.Text); 
var result=context2.Clients.FirstOrDefault(cust=> cust.ID ==id); 

我想最简单的解决办法是将转换为int BEF矿石查询:

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