有朋友问了数据库ID不连续,怎么获取上一篇和下一篇的文章?(不是全部状况都适用)

呃 (⊙o⊙)…,逆天很久没写SQL了,EF用的时间长了,SQL都不怎么熟悉了。。。。。。【SQL水平比较菜,大牛勿喷】ui

方法不少种,说个最多见的处理blog

 

由于id是自增加的,因此通常状况下下一篇文章的ID都是大于当前文章ID的(guid的主键不适合这种方法,不根据建立时间排序的不适合【博客园文章都是根据建立时间】排序

EF的写法:(参考)
有其余约束的能够往上加(好比文章不能被标记为删除等)
var articleOne = ArticleService.PageLoad(a => a.Id < model.Id ).OrderByDescending(a => a.CreateTime).FirstOrDefault(); var articleOne = ArticleService.PageLoad(a => a.Id < model.Id ).OrderBy(a => a.CreateTime).FirstOrDefault();