根据某属性去重
使用第三方库:MoreLINQ
Install-Package morelinq -Version 3.0.0
data.DistinctBy(x=>x.Id)
实现left join
使用DefaultIfEmpty(),是left join
没有DefaultIfEmpty(),是inner join
var query2 = (
from users in Repo.T_Benutzer
from mappings in Repo.T_Benutzer_Benutzergruppen
.Where(mapping => mapping.BEBG_BE == users.BE_ID).DefaultIfEmpty()
from groups in Repo.T_Benutzergruppen
.Where(gruppe => gruppe.ID == mappings.BEBG_BG).DefaultIfEmpty()
select new
{
UserId = users.BE_ID
,UserName = users.BE_User
,UserGroupId = mappings.BEBG_BG
,GroupName = groups.Name
}
);