【发布时间】:2017-10-15 08:48:09
【问题描述】:
在一个网站中,有一个文章页面,当我进入文章页面时,它会显示文章,前10个cmets属于这篇文章。
还有一些按钮,点击后,通过AJAX异步显示所有cmets的其余部分。
问题是假设在文章页面加载前 10 个 cmets 后,拥有评论的用户或管理员删除它, 如何选择其余的cmets? 如果我从 select 语句中跳过前 10 个 cmets,则有一些 cmets 没有被选中。
例如:
假设 cmets ID 是: 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20
我选择的前 10 个 cmets ID 是:1、2、3、4、5、6、7、8、9、10
IEnumerable<Comment> comments = (from a in context.Comments
where a.ArticleID == ArticleID
orderby a.CommentDate descending
select new Comment
{
CommentID = a.CommentID,
CommentContent = a.CommentContent,
CommentDate = a.CommentDate,
}).ToList().Take(10);
假设拥有评论或管理员的用户删除了 ID 为 9、10 的 2 个 cmets
那么数据库中的前十个 cmets 将变为:1, 2, 3, 4, 5, 6, 7, 8, 11, 12
当我尝试获取其余的 cmets 并跳过前 10 个 cmets 时, 那么结果是:13、14、15、16、17、18、19、20
IEnumerable<Comment> comments = (from a in context.Comments
where a.ArticleID == ArticleID
orderby a.CommentDate descending
select new Comment
{
CommentID = a.CommentID,
CommentContent = a.CommentContent,
CommentDate = a.CommentDate,
}).ToList().Skip(10);
所以有两个 cmets 11 和 12 我看不到它们,因为 ID 为 11、12 的 cmets 将与前 10 个 cmets 一起考虑...
【问题讨论】:
-
那么这里的预期是什么......你想要 11,12 在这两个集合中,即前 10 个以及其余的所有?
-
你明白我的问题吗???
标签: javascript c# design-patterns asp.net-core asp.net-core-mvc