0

ファイルとフォルダーのデータを格納するテーブル資産があり、任意のアイテムの親ディレクトリを参照する ParentDirectoryID を持っています。現在 UI では、アイテムは次のように表示されます -

フォルダ1 フォルダ2 フォルダ3 ファイル1 ファイル2

ただし、データベースでは、次のように任意の順序で保存できます-

ファイル1 フォルダ1 ファイル2 フォルダ2 フォルダ3 ファイル3

今、UI に表示されるデータへのページングを有効にしたいのですが、直面している問題は、最初にフォルダーを持ち、後で名前で並べ替えられたファイルを持つ最初の X 個のレコードを取得する方法です。

編集:- AssetType は次のとおりです。 - フォルダー ImageFile TextFile Assembly など...

4

2 に答える 2

2

句を使用してThenBy、データベースから 2 番目の順序を取得できます。

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

この機能の一部を処理するプロジェクト( NuGet ) があります。

于 2013-06-11T15:24:49.017 に答える
1

拡張メソッドを使用して、OrderBy()最初にアセット タイプ (フォルダー / その他) と.ThenBy()ファイル名で並べ替えます。

于 2013-06-11T15:11:28.157 に答える