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 –