엔티티에 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 문을 주석 처리하면 필터링 결과가 없어도 작동합니다.
필터 변수는 함수에 전달되는 클래스입니다. 그것은 단지 하나의 속성을 가지고 있습니다 : int clientId. 에서
'Where'절을 주석 처리하는 것에 대해 -이 사례를 구체적으로 확인 했는데도 작동하지 않습니다. 컴파일되지 않습니다. 여기에 오는 것과 같은 오류입니다. 당신이 단지'where' 부분을 주석 처리하는 것 이상으로 변경하지 않는다면, 나는 –