-1
我試圖左多個條件的linqtoentities連接多個表,但我無法讓它在兩個表上運行。錯誤是'連接子句中的一個表達式的類型不正確。'並且代碼:連接子句中的一個表達式的類型不正確。在'GroupJoin'調用中輸入推斷失敗
var listToSend = from row in meetingEmails
join s in sentEmail on new {a = (int) row.StaffID, b = (int) row.MeetingID} equals new {a = (int) s.SentToUserID, b = (int) s.CaseID}
包含在比較類型這四列是不可爲空整型(名稱和類型的聲明是解決這一企圖),所以我努力理解爲什麼它與有麻煩類型。
我可以看到的唯一區別是,右半部分是直接從數據庫中,左側是通過以前的查詢運行,只有某些字段輸出,但我不認爲這會產生影響,因爲數據類型爲連接標準中的字段仍然被編譯器一致地識別(如int)。
儘管發現很多這個錯誤的報告,我無法找到提供我需要爲這個所以任何幫助的洞察力任何職位,將不勝感激
嘗試用int替換int?這將允許空值。 – jdweng
您是否嘗試過在不創建匿名類型的對象的情況下執行此操作?例如'(int)row.StaffID equals(int)s.SentToUserID &&(int)row.MeetingID equals(int)s.CaseID' –
請發佈您的實際查詢。你提到過「GroupJoin」,但這裏沒有任何組加入。這只是一個內部連接(或普通連接)。 –