Linq扩展方法 - 如何获取父对象?

时间:2012-08-19 17:59:32

标签: c# linq object extension-methods parent

我的数据库看起来像这样:(它是伪代码)

public class thread
{
   int id;
   List<Post> Posts;
}

public class Post
{
   int id;
}

作为输入,我有帖子ID,我想知道该帖子在哪个帖子中。我可以使用linq的扩展方法吗?

1 个答案:

答案 0 :(得分:1)

认为你的意思是:

var myThread = threads.FirstOrDefault(x => x.Posts.Any(p => p.id == somePostId));

这将返回第一个(如果有)匹配的thread实例,其中包含具有给定帖子ID的帖子或null如果没有实例匹配。这假设您有threadsthread个实例的集合,例如使用Linq to Entities。

一般情况下,我会尽量避免与.NET框架中现有类名冲突的类名(如Thread)。