2011-06-15 3 views
1

J'ai cette classe:LINQ Une simple question

public class Post 
{ 
    public Oid Id { get; private set; } 

    public IList<Comment> Comments { get; set; } 
} 

public class Comment 
{ 
    public Guid Id { get; set; } 
    public DateTime TimePosted { get; set; } 
} 

comment dans LINQ choisir que les messages dont les commentaires a TimePosted par exemple> = DateTime.Now ??

Répondre

5

une collection de Compte tenu Post objets appelés « posts », vous feriez quelque chose comme ceci:

var result = posts.Where(p => p.Comments.Any(c => c.TimePosted >= DateTime.Now)); 

Notez que ceci est un exemple de la syntaxe Méthode. Pour un exemple de syntaxe de requête, voir cybernate's answer. MSDN a une comparaison des deux styles disponibles ici: LINQ Query Syntax versus Method Syntax.

2

Essayez ceci:

from p in context.Posts 
from c in p.Comments 
where c.TimePosted >= DateTime.Now 
select p