C# lambda limit with include



我有这段代码。

return Folder.GetAllWithInclude(x => x.SubFolder).Take(5);

此代码返回5个文件夹项。我要做的是将子文件夹限制为5个而不是将文件夹限制为5个。我尝试了以下

return Folder.GetAllWithInclude(x => x.SubFolder.Take(5));

但似乎没有效果。

我可能在这里漏掉了正确的语法。

提前谢谢你!

没有Include(Where Expression)的方法。如果你使用Include,你将总是加载所有的记录。

你可以用Projection来解决这个问题

Folder.Select(F => new
        {
            FolderName = F.FolderName,
            SubFolders = F.SubFolders.Take(5)
        }).ToList().Select(F => new Folder()
        {
            FolderName = F.FolderName,
            SubFolders = F.SubFolders
        };

最新更新