linq to entities无法识别int32 toint32的方法

时间:2012-07-05 15:26:58

标签: c# visual-studio-2010 linq entity-framework int

当我尝试将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);
}

enter image description here

有什么想法吗?

2 个答案:

答案 0 :(得分:8)

看起来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();

答案 1 :(得分:0)

使用此: db.Communes.Where(d =&gt; d.CodePostal ==(int)CodePostal.Text)