当我尝试将int与int进行比较时出现此错误(在比较字符串时有效)

IEnumerable<Commune> myCommunes = from d in db.Communes
                                  where d.CodePostal == Convert.ToInt32(CodePostal.Text)
                                  select d;

foreach (Commune c in myCommunes)
{
    CommunesList.Add(c);
}




有任何想法吗 ?

最佳答案

看起来CodePostal.Text是您现有上下文中的内容-因此,您要做的就是从查询中提取该内容:

int code = Convert.ToInt32(CodePostal.Text); // Or use int.Parse...

// Not using a query expression here as it just adds extra cruft
IEnumerable<Commune> myCommunes = db.Communes.Where(d => d.CodePostal == code);


目前尚不清楚CommunesList的来源-但如果在此之前为空,则可以使用:

CommunesList = db.Communes.Where(d => d.CodePostal == code).ToList();

10-06 11:41