LINQ一个简单的问题

本文关键字:简单 问题 一个 LINQ | 更新日期: 2023-09-27 17:59:07

我有一个类:

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.现在??

LINQ一个简单的问题

给定一个名为"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