如何在C#中使用linq选择满分数的数据库表中的前十个分数

时间:2010-11-29 23:02:46

标签: c# sql database linq

我是Linq和数据库编程的新手,我真的可以使用一些帮助。

我尝试过使用

var TopTen =  from t in datacontext.Scores.Take(10)
              orderby t.LifetimeScore descending
              select t;

但这似乎只给了我DB中的前十个条目而不是前十个。我知道我需要在搜索之前订购该表,但我无法弄明白。

谢谢,感谢任何帮助

4 个答案:

答案 0 :(得分:7)

您必须从结果中取10,而不是之前:

var TopTen = (from t in datacontext.Scores 
              orderby t.LifetimeScore descending 
              select t).Take(10);

答案 1 :(得分:2)

var TopTen =  datacontext.Scores.OrderByDescending(t => LifetimeScore ).Take(10)

答案 2 :(得分:2)

我自己是LINQ的新手,但这是我认为应该有效的方法:

var TopTen =  (from t in datacontext.Scores
              orderby t.LifetimeScore descending
              select t).Take(10);

答案 3 :(得分:1)

var TopTen =  from t in datacontext.Scores
              orderby t.LifetimeScore descending
              select t;
TopTen = TopTen.Take(10).ToArray();

最后一条语句将确保查询已执行