0
A
回答
1
這是Id字段標識列?以前是Max(Id)-1,下一個Id將是Max(id)+1。
但是,使用這種身份列將是一個壞主意,因爲您可以在數據庫中運行多個事務同時也不能保證您計算出的下一個/以前的值在你稍後使用它們的時候是正確的。
如果您需要其他東西,請告訴我。
2
這樣可以通過Id降序來命令收集,跳過第一個,然後抓取收集中的下一個。那是你在找什麼?
var collection = new[]
{
new { Id = 1 },
new { Id = 3 },
new { Id = 2 },
new { Id = 5 }
};
var secondHighestIdValue = collection.OrderByDescending(x => x.Id).Skip(1).First();
Console.WriteLine(secondHighestIdValue); // { Id = 3 }
0
給出一個ID(在我的情況下,圖片),在這裏如何獲得下一個圖片ID和以前的圖片ID。我使用這2個輔助方法:
public int GetPreviousPictureId(int id)
{
var picture = db.Pictures.Where(x => x.Id < id).OrderByDescending(x => x.Id).FirstOrDefault();
if (picture != null)
return picture.Id;
return 0;
}
public int GetNextPictureId(int id)
{
var picture = db.Pictures.Where(x => x.Id > id).OrderBy(x => x.Id).FirstOrDefault();
if (picture != null)
return picture.Id;
return 0;
}
爲了得到以前,我採取只有那些具有下位ID篩選圖片,降序排列按ID,這樣的第一要素列表(FirstOrDefault)是我需要的。
要得到下一個,我會做相反的事情。我過濾的圖片只通過更高的ID,順序升序ID,以便列表的第一個元素是我需要的。
正如你所看到的我檢查空並返回id如果不爲空。 如果沒有找到圖片,返回0。如果找不到,某些開發人員更喜歡返回-1。由你決定。
DB的第一張圖片沒有以前的圖片。 DB的最後一張圖片沒有下一張。
希望這有助於(應該實際回答問題)。
相關問題
- 1. 使用LINQ獲取上一個和下一個元素
- 2. 下一個/上一個按鈕onClick滾動到下一個和上一個的
- 3. 上一個和下一個滾動到下一個帖子
- 4. 創建下一個圖像點擊:上一個和下一個
- 5. Rails:上一個查詢的上一個和下一個記錄
- 6. 週期2上一個和下一個
- 7. 播放列表上一個/下一個
- 8. 創建下一個/上一個導航
- 9. 上一個和下一個 - DataTables
- 10. 上一個/下一個jQuery效果
- 11. 上一個/下一個功能失敗
- 12. jquery上一個和下一個出現
- 13. 下一個和上一個操作
- 14. 上一個下一個導航
- 15. 使下一個\上一個按鈕,JSP
- 16. MYSQL下一個上一個記錄
- 17. 上一個/下一個按鈕?
- 18. Drupal上一個和下一個鏈接
- 19. Laravel上一個和下一個記錄
- 20. 獲取下一個和上一個Queryable
- 21. UIScrollView下一個上一個按鈕
- 22. 設置下一個和上一個href
- 23. Fancybox下一個/上一個不工作
- 24. 上一個和下一個按鈕
- 25. 下一個和上一個圖像
- 26. 下一個和上一個記錄
- 27. WordPress的下一個&上一個
- 28. 下一個或上一個枚舉
- 29. Tomahawk datascroller下一個上一個
- 30. datastore獲取上一個/下一個appengine
next before previous = current? 以及「前一個」和「之後的下一個」是什麼意思?你的意思是「前三名」 - 即Max,下一個更小,另一個?或者集合中每個記錄的下一個和前一個ID? – aiodintsov
使用OrderBy,Skip和First/FirstOrDefault。 –
訪問此問題http://stackoverflow.com/questions/1811846/how-to-get-the-second-highest-number-in-an-array-in-visual-c –