我有一个类:
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; }
}
在linq中如何选择评论为TimePosted>=DateTime.现在??
给定一个名为"posts
"的Post
对象集合,您可以执行以下操作:
var result = posts.Where(p => p.Comments.Any(c => c.TimePosted >= DateTime.Now));
请注意,这是Method语法的一个示例。有关Query语法的示例,请参阅cybernate的答案。
MSDN在这里对两种可用的样式进行了比较:LINQ查询语法与方法语法。
试试这个:
from p in context.Posts
from c in p.Comments
where c.TimePosted >= DateTime.Now
select p