我想連接兩個表一起使用C#linq實體。C#Linq to Entities:連接子句中的一個表達式的類型不正確。類型推斷失敗
一個表具有客戶端,另一個表具有許可證。這些表由Client_ID和ClientLicence_ClientID連接。出於某種原因(它們不是我的表),Client_ID是一個int,ClientLicence_ClientID是一個字符串。
我的代碼是:
var licences = (from client in entities.Clients
join licence in entities.ClientLicences
on new { clientId = SqlFunctions.StringConvert((double)client.Client_ID) } equals
new { licence.ClientLicence_ClientID }
into clientGroup
where (filter.clientId == 0 || client.Client_ID == filter.clientId)
select licence);
當我嘗試編譯此我得到一個錯誤:聯接子句中的類型的表達式之一的不正確。在「GroupJoin」調用中,類型推斷失敗。
如果我註釋掉where語句,那麼它有效(雖然沒有過濾結果)。
filter變量是一個傳遞給函數的類。它只有一個propery:int clientId。
你說什麼關於評論'哪裏'條款 - 我特別檢查了這個案例和不,它不工作,它甚至不編譯。這是你得到的錯誤。除非你改變的不僅僅是評論'where'部分 –