Étant donné ce code:LINQ to SQL: DISTINCT Types anonymes
dgIPs.DataSource =
from act in Master.dc.Activities
where act.Session.UID == Master.u.ID
select new
{
Address = act.Session.IP.Address,
Domain = act.Session.IP.Domain,
FirstAccess = act.Session.IP.FirstAccess,
LastAccess = act.Session.IP.LastAccess,
IsSpider = act.Session.IP.isSpider,
NumberProblems = act.Session.IP.NumProblems,
NumberSessions = act.Session.IP.Sessions.Count()
};
Comment puis-je tirer le Distinct() basé sur l'adresse distincte seulement? C'est-à-dire, si j'ajoute simplement Distinct(), il évalue la ligne entière comme étant distincte et par conséquent ne trouve aucun doublon. Je veux retourner exactement une ligne pour chaque objet act.Session.IP.
J'ai déjà trouvé this answer, mais il semble que ce soit une situation différente. De plus, Distinct() fonctionne bien si je sélectionne simplement act.Session.IP, mais il a une colonne que je souhaite éviter de récupérer et je préfère ne pas avoir à le faire en liant manuellement mes colonnes de données.
J'ai essayé cette approche et sur le profilage le résultat a révélé qu'il générait de jolies wack SQL – LaserJesus
Brehtt, d'accord. Il semble toujours interroger le db au moins deux fois. –