"Leon Mayne" <leon@xxxxxx> wrote in message
news:B901B683-FD31-4D60-9554-D4B42CDF543D@xxxxxx
> I'm new to LINQ, and so having a small problem trying to left outer join
> two generic lists of business objects.
>
> I have a collection of department objects which I want to left join to a
> collection of report group objects (based on an integer property called
> ReportGroupId) and pull out the department name, id, and the report group
> name (empty string if null). I came up with:
>
> Me.gvwDepartments.DataSource = From d In colDepartments _
> Group Join r In colReportGroups On d.ReportGroupId Equals
> r.ReportGroupId _
> Into rgGroup = Group _
> From rg In rgGroup _
> Select d.DepartmentId, d.Name, ReportGroup = If(rg Is Nothing,
> String.Empty, rg.Name)
>
> But this returns an empty set. Does anyone know what I'm doing wrong? Nevermind, I just found out I needed to add DefaultIfEmpty to the group
select:
From rg In rgGroup.DefaultIfEmpty