より大きい写真タイプのオブジェクトと特定の順序でソートされた結果セットがある場合、結果に現在の写真オブジェクトの位置を取得する方法がありますセット。それに続くすべてのオブジェクトを取得しますか?LINQ-To-SQLの行番号が
答えて
あなたは同上に対してソートしている場合:
// gets the previous photo, or null if none:
var previousPhoto = db.Photos
.Where(p => p.Id < currentPhotoId)
.OrderByDescending(p => p.Id)
.FirstOrDefault();
// gets the next photo, or null if none:
var nextPhoto = db.Photos
.Where(p => p.Id > currentPhotoId)
.OrderBy(p => p.Id)
.FirstOrDefault();
カスタムオーダーを持っている場合は、 OrderBy/OrderByDescending
の式をカスタム注文に置き換える必要があります。また、現在の写真の前後にある写真のみを取得するには、Where()
に同じ注文基準を使用する必要があります。これはあなたの元のコレクションでの指標と組み合わせるphoto
を、以下のすべての写真を与えるだろう
var result =
photos.Select((p, i) => new { Index = i, Photo = p })
.SkipWhile(x => x.Photo != photo).Skip(1);
:
ない私が正しく理解しますが、これは役立つ可能性がある場合を確認します。実際には
var result = photos.Skip(100); // 100 would be the position of current object.
// if you don't know the index of the current object:
// This won't work on LINQ to SQL directly, do it on a list or something.
var result = photos.SkipWhile(x => x != currentObject).Skip(1);
を使用すると、データベースを扱っている場合は、あなたがすることによってソートされているいくつかの識別子(列の集合)があるはずです。サーバー側ですべてを実行したい場合は、現在のオブジェクトのプロパティを取得し、必要な並べ替え順序で後続するオブジェクト用の結果セットをフィルタリングすることができます。写真の
どのように私は現在のオブジェクトの位置を取得しますか。 – maxfridbe
インデックス:それは後に
result.IndexOf(photo);
アイテム:
result.SkipWhile((q, i) => i <= result.IndexOf(photo));
私はその結果が既に彼によってソートされていて、データベースからの注文ではないと仮定しています。 –
あなたはこのような何か(ひどく効率的ではない)を行うことができます。
SkipWhileにはインデックス付きオーバーロードが含まれています。 –
はい、そのオーバーロードは、インデックスを使用してスキップするものを決定する場合にのみ便利です。 'SkipWhile'と' Skip'の両方に元のインデックスを残したいと思います。 –
- 1. 行番号が
- 2. 行番号が
- 3. スパーク、グループ番号の行番号
- 4. パス行番号
- 5. 行番号
- 6. WinMergeの行番号
- 7. イベントビューアの行番号
- 8. BigQueryの行番号?
- 9. ビューの行番号
- 10. 行番号のハイブクエリ
- 11. R、デバッグ行番号
- 12. WPF Datagrid行番号
- 13. Java JTextArea行番号
- 14. MySQL番号の行のエラー
- 15. Netbeansのjtextpaneの行番号
- 16. 行番号のシェルスクリプトのデバッグ
- 17. JavaのSwingの行番号
- 18. LinqToSqlクエリの実行タイミング
- 19. c#WPFのリッチテキストボックスの行番号と列番号
- 20. マクロ - 値の列を含むセルの行番号番号 "コード:"
- 21. spacemacsの絶対行番号
- 22. C#テーブルの行番号
- 23. llvm命令の行番号
- 24. ページネーションのDjango行番号
- 25. terraformエラーメッセージの行番号
- 26. 取得行番号(MySQLの)
- 27. クエリ結果の行番号
- 28. ハイブの行番号機能
- 29. CTE行番号の分割
- 30. Symfony Doctrineの行番号クエリ
また、先行するオブジェクトをどのように取得しますか?私はSQLからコレクション全体を取得することなくこれを実行しようとしています – maxfridbe
あなたはすべての写真を持っているメモリ内の結果セットを持っていますか、データベースに戻って単一の次/前の写真を取得しますか? ? –
私は、Row_Numberのようなエンティティが存在することを望んでいました。このオブジェクトの位置よりも大きくなる可能性があります。 – maxfridbe