2010-05-10 141 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