如何避免c#中的重复记录
本文关键字:记录 何避免 | 更新日期: 2023-09-27 17:57:51
我分两步从服务器获取数据。
首先是从我的表中随机提取25条记录,并将这些记录显示给用户,现在我添加了一个按钮。当用户点击该按钮时,我必须显示数据库中接下来的25条记录,但我需要确保这些记录不包含任何已经显示的记录。如何在c#中做到这一点
这是我获得前25条记录的代码
var records = context.couponservice.Query().Take(25).ToList();
提前谢谢。
您可以在.Take(pageSize)
之前使用.Skip(pageSize * numberOfPages)
来跳过您不想显示的任何记录/页面。
怎么样
int position = 25; // Increase this for each page
var nextRecords = context.couponservice.Query().Skip(position).Take(25).ToList();
试试这个
for(i=0;i<noOfPages;i++)
{
var records = context.couponservice.Query().Skip(i * 25).Take(25).ToList();
}
这将给你每次新的记录。
跟踪您已经提取的项目。例如,将ID存储在列表或其他文件中。然后只收集来源中ID不在列表中的项目。从这个结果中,你可以随机选择25个项目。
例如:
//Your datasource
var source = new Dictionary<int, string>
{
{1, "One"},
{2, "Two"},
{3, "Three"},
{4, "Four"},
{5, "Five"},
{6, "Six"},
{7, "Seven"},
{8, "Eight"},
{9, "Nine"},
{10, "Ten"}
};
//The ID's of already fetched items
var taken = new List<int> { 2, 7, 3, 6 };
//Subset: all items that haven't been taken yet:
var temp = source.Where(s => taken.Contains(s.Key) == false);
从"temp"中,您现在可以选择随机元素,并将这些项目的ID添加到列表"taked"中。