我有两个表和一个临时表。在这两张表中,如果记录的名称是相同的,我会根据事实记录我加入的记录。加入是成功的。我从两张表中取出ID并将其放在临时表中。所以临时表有3个列:idfromoldtable,idfromnewtable和name。因此,在此之后,我正在创建另一个表,它只需要存储idfromthenewdb和名称,但是在consoleApp执行时会出现以下错误,该错误位于主题的标题中。LINQ to Entities不识别方法get_Item(Int32)'方法
var queryMapping = from tempRecords in newDb.temporaryTables
where tempRecords.tableName == "Settlements"
select tempRecords;
for (int i = 0; i < listHospital.Count; i++)
{
var mappingItem = queryMapping.First(item => item.idFromOldDb == (int)listHospital[i].SettlementId); //this is the line where the error shows
listHospital[i].SettlementId = mappingItem.idFromNewDb;
}
任何建议如何处理这个问题?
是否ToListing()queryMapping解决了这个问题? –
@BadDub不,不能解决问题。看看Ehsan Sajjad给出的答案。 :) – Toni
我认为将queryMapping移入内存(tolisting)会识别int cast,因为它不再使用int cast调用db –