0

将元素添加到新创建的 DbSet 时,ID 是否总是从 1 到(元素数量)生成...或者我是否必须添加一些代码以确保发生这种情况...

真正的问题是我想拥有

public DbSet<Student> Students { get; set; }
public DbSet<StudentPointer> top100allTime { get; set; }

所以我有

public class StudentPointer
{
    public int StudentPointerID { get; set; }

    public int StudentID { get; set; }

    public int Votes { get; set; }
}

public class Student
{
    public int StudentPointerID { get; set; }

    public int StudentID { get; set; }

    public String name { get; set; }
}

所以这里发生的情况是,每次用户对学生投票时,我都会在 top100allTime 上获得 StudentPointer .. 更新它的“Vote”变量......然后假设“top100allTime”学生总是按投票顺序,我得到邻居它的 ID 是一个数字,比较它的选票,如果需要的话,在顶部列表中切换位置。

仅当 dbSet 上的 ID 始终按从 1 到(元素数)的顺序生成时才有效

这就是为什么我要问

还是有更有效的方法来制作top100List?

4

1 回答 1

0

如果您将 'votes' 列留在 'students' 表中,并在有人投票给学生时更新它,然后在 'votes' 列上建立索引,并且只要您进入前 100 名,这将容易得多'选择按票数降序排列的前 100 名”。当您的学生表开始超过 500 000 条记录时,您可以使用 NoSQL 数据库来完成这项工作。

于 2014-12-18T11:02:28.303 回答