如何使用分页的延迟加载逻辑来检索文件系统类型的层次结构数据

本文关键字:文件系统 检索 类型 层次结构 数据 何使用 分页 延迟加载 | 更新日期: 2023-09-27 18:17:50

我有一个表资产存储文件和文件夹数据,其中有ParentDirectoryID引用到任何项目的父目录。现在在UI中,项目显示如下-

Folder1Folder2Folder3File1File2

但是在数据库中它们可以按任意顺序存储,比如-

File1Folder1File2Folder2Folder3File3

现在我想启用分页到UI上显示的数据,但我面临的问题是我如何才能获取第一个X个数的记录,首先有文件夹,然后按名称排序文件。

编辑:-AssetType如下-文件夹ImageFile文本文件装配等…

如何使用分页的延迟加载逻辑来检索文件系统类型的层次结构数据

您可以使用ThenBy子句从数据库中获得第二次排序。

var source = query
    .OrderBy(item => item.FolderOrFile)
    .ThenBy(item => item.Name);
var pagedItems = source
    .Skip(itemsPerPage * requestedPage)
    .Take(itemsPerPage);

我有一个项目(在NuGet上),它为你照顾一些这个功能。

通过使用OrderBy()扩展方法对资产类型(folder/other)和.ThenBy() filename.