2010-05-05 6 views
0

J'ai réfléchi à la façon de résoudre ce problème, mais je préfère l'exposer à l'aide d'idées.Aide avec un algorithme dans linq pour résoudre une requête

J'ai 2 tables (LINQ to SQL) A et B, A un nombre relation avec B, alors A ont une propriété EntitySet de B

A have the following properties: 
    CreateDate (Datetime) 
    ModificateDate (Datetime) 
    Bs (EntitySet<B>) 

B have the following properties: 
    CreateDate (Datetime) 
    ModificateDate (Datetime) 

Tout ce que je veux est retourner une collection ordonnée de a la date Max entre:

A.CreateDate, 
A.ModificateDate, 
The Max B.CreateDate of all B in A 
The Max B.ModificateDate of all B in A 

si je quelqu'un besoin d'un petit exemple, il suffit de demander pour elle.

Répondre

0

Cela devrait faire l'affaire:

from a in db.As 
select new 
{ 
    a.CreateDate, 
    a.ModificateDate, 
    MaxCreateDate = a.Bs.Max(b => b.CreateDate), 
    MaxModificateDate = 
     a.Bs.Max(b => b.ModificateDate) 
} 
+0

Oui, cette requête résoudre la partie d'obtenir toute la date, et choisissez la date max sera plus facile, juste manquer la partie de l'ordre A pour cette MaxDate – Deumber