我有兩個表和一個臨時表。在這兩張表中,如果記錄的名稱是相同的,我會根據事實記錄我加入的記錄。加入是成功的。我從兩張表中取出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 –