J'ai une requête LINQ qui renvoie des données et que je veux filtrer en fonction de 2 champs (fkProfileID et fkOrgID) qui sont souvent les mêmes. Je veux seulement montrer 1 enregistrement quand fkProfileID et fkOrgID correspondent, donc c'est comme faire un SQL distinct, mais sur 2 champs plutôt qu'un.LINQ distinct sur 2 champs
Mes données ressemblera à ceci (les autres champs ont été enlevés):
fkProfileID fkOrgID
1 1001
1 1001
1 1001
2 1001
2 1001
1 1005
1 1005
Donc ici, je veux revenir seulement ce qui suit:
fkProfileID fkOrgID
1 1001
2 1001
1 1005
Voici mon LINQ actuel (les deux champs ci-dessus sont dans tblUserRights), comment dois-je le changer pour le faire?
List<ProfileJSON> lstProfiles = (from r in _database.tblUserRights
join p in _database.LuProfiles on r.fkProfileID equals p.luProfileID
join o in _database.tblOrganisations on r.fkOrgID equals o.pkOrgID
where r.fkUniqueID == intPKUserID
orderby o.OrgDesc, p.ProfileName
select new ProfileJSON
{
SiteID = o.pkOrgID,
SiteName = o.OrgDesc,
ProfileID = p.luProfileID,
ProfileName = p.ProfileName
}).ToList();