生成的DbSet ID总是代表位置吗?

时间:2014-12-18 04:18:45

标签: entity-framework dbset

向新创建的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 ..更新其“投票”变量...然后假设“top100allTime”学生总是按照投票顺序,我得到邻居的ID是一个数字,比较它的投票,如果必须的话,在顶部列表中切换位置。

仅当dbSet上的ID始终按从1到(元素数量)

的顺序生成时才有效

这就是我要问的原因

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

1 个答案:

答案 0 :(得分:0)

如果您将“投票”栏留在“学生”表格中并在有人投票给学生时更新它,然后在“投票”列和每当您排在前100位时编制索引,那将会轻松得多你可以'选择按降票排序的前100名'。当您的学生表开始超过500,000条记录时,您可以使用NoSQL db,这对于这项工作就足够了。