@Tiago, у меня возникла та же проблема сразу после dist-upgrade. Перезагрузка исправила это.
На странице примеров LINQ to SQL в MSDN приведен пример того, как это сделать. Код для LINQ to Objects должен быть практически идентичным.
Ключевым моментом здесь является вызов DefaultIfEmpty
.
Dim q = From e In db.Employees _
Group Join o In db.Orders On e Equals o.Employee Into ords = Group _
From o In ords.DefaultIfEmpty _
Select New With {e.FirstName, e.LastName, .Order = o}
Если вам нужна помощь в преобразовании этого кода в C #, просто спросите.
Например:
IQueryable<aspnet_UsersInRole> q = db.aspnet_Roles
.Select(p => p.aspnet_UsersInRoles
.SingleOrDefault(x => x.UserId == iduser));
Даст вам список ролей из членов ASP.NET, с нулями, где он не соответствует указанному пользователю (ключ идиратора)