2017-04-06 31 views
1

爲什麼我無法在LINQ查詢中加入我的AspNetUsers表?嘗試加入LINQ查詢結果中的AspNetUsers表類型推斷在「加入」調用中失敗

var query = (from O in _context.Organisations 
         join U in _context.Users on O.OrganisationId equals U.OrganisationId 
         where U.Id == userId 
         select new BudgetEntryVM 
         { 
          OrganisationId = O.OrganisationId, 
          OrganisationName = O.Name 
         }).ToList(); 

我上加入一個錯誤:

聯接子句中的類型的表達式之一的不正確。

類型推斷在調用「加入」失敗。

我該怎麼辦?

+0

這是一個運行時錯誤? – Stefan

+0

你可以添加[mcve](http://stackoverflow.com/help/mcve)嗎? – aloisdg

+0

不在運行時。我添加了連接並立即給出了錯誤 – AxleWack

回答

1

錯誤

聯接子句中的類型的表達式之一的不正確。

類型推斷在調用「加入」失敗。

指出,有到位的給定類型沒有可接受的轉換,你的情況:O.OrganisationIdU.OrganisationId

檢查類型,你會看到他們不匹配。

+0

謝謝Stefan!當我接手另一位開發人員時,Id已經期望他將數據類型設置爲相同的...: - /謝謝您指出這一點! – AxleWack

0

您是否嘗試將兩個OrganisationId轉換爲字符串以進行連接?

+1

轉換爲int時要小心,因爲它可能包含一些字符;) – Pliskin

+0

通常我會同意,但在這種情況下,它總是數字。謝謝:) – AxleWack