2010-05-10 136 views
1

我有3个班在C#:嵌套查询问题

class Folder 
{ 
    int Id { get; set; } 
    List<File> files { get; set;} 
} 

class File 
{ 
    int Id { get; set; } 
    Author author { get; set; } 
} 

class Author 
{ 
    int Id { get; set; } 
    string Name { get; set; } 
} 

我的文件夹项的列表(列表):

var folders = getAllFolders(); 

我如何使用LINQ返回从文件夹列表列表时,我只知道文件的作者ID?

我需要列表来包含给定作者创建文件的所有文件夹!

感谢

回答

4

你想找到其中的文件Any有作者的ID等于你正在寻找一个文件夹。

var authFolders = folders.Where(fo => fo.files.Any(fi => fi.Author.Id == authorId)); 
+1

可能太多f,但这是主意。 – Kobi 2010-05-10 11:55:05

+1

@Kobi - 是的。我一直在说,所以需要智能感知,但他们一直忽略我。 :-) – tvanfosson 2010-05-10 12:14:33