LINQ to Entities无法识别方法get_Item(Int32)'方法

时间:2017-01-16 11:14:44

标签: c# sql linq

我有两张桌子和一张临时桌子。在这两个表中,如果记录的名称相同,我会根据事实加入记录。加入是成功的。我从两个表中获取id并将其放在具有名称的临时表中。所以临时表有3列:idfromoldtable,idfromnewtable和name。所以在那之后我创建了另一个表,它只需要存储idfromthenewdb和名称,但是当consoleApp执行时会发生以下错误,该错误位于主题的标题中。

Select STUFF('Bill1',1,4,'')

有关如何处理此问题的任何建议吗?

1 个答案:

答案 0 :(得分:2)

Linq to Entities不知道如何将int转换代码转换为sql,你需要将它转换为linq查询之外然后在查询中使用该值,快速解决这个问题就像:

for (int i = 0; i < listHospital.Count; i++)
{
      int settlmentId = (int)listHospital[i].SettlementId;
      var mappingItem = queryMapping.First(item => item.idFromOldDb == settlmentId );
      listHospital[i].SettlementId = mappingItem.idFromNewDb;
}