I am trying to do this simple sql query to LINQ. But its give me error.
Here is the SQL query that need to conver to LINQ
DECLARE @groupID int
SET @groupID = 2
SELECT *
FROM dbo.Person p
LEFT JOIN dbo.PersonGroup pg ON ( p.PersonID = pg.PersonID AND pg.GroupID = @groupID)
Ignore @groupID. which will be provided as function parameter for LINQ query.
Here is LINQ query what i have tried.
from p in Person
join pg in PersonGroup on new { p.PersonID, groupID } equals new { pg.PersonID, pg.GroupID } into t
from rt in t.DefaultIfEmpty()
Where groupID is provided as function parameter. Both GroupID and PersonID are int. But it gives me following error,
Error 2 The type of one of the expressions in the join clause is incorrect. Type inference failed in the call to 'GroupJoin'.
Little help would be appreciated.
Your Code
Change it to
That way it will join using the Anonymous type