Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用linq查询使用orderby_C#_Linq - Fatal编程技术网

C# 使用linq查询使用orderby

C# 使用linq查询使用orderby,c#,linq,C#,Linq,我有4列,设施0ID,名称,日期,数量。我这里没什么问题 如何根据数量使用orderby。我想找到前三排。任何人都可以帮忙,谢谢 DataClassesDataContext db = new DataClassesDataContext(); var query = from p in db.Facilities join v in db.Reservations on p.facilities_id equals v.facilities_i

我有4列,设施0ID,名称,日期,数量。我这里没什么问题

如何根据数量使用orderby。我想找到前三排。任何人都可以帮忙,谢谢

    DataClassesDataContext db = new DataClassesDataContext();

    var query = from p in db.Facilities
                join v in db.Reservations on p.facilities_id equals v.facilities_id
                join c in db.Reservation_Details on v.reservation_id equals    
                c.resevation_id
                where SqlMethods.Like(c.date, "%" + DropDownList1.Text + "%")
                select new
                {
                    p.facilities_id,
                    p.name,
                    c.date,
                    Quantity = p.Reservations.Count()

                };

    GridView1.DataSource = query.GroupBy(x => x.facilities_id)
                       .Select(g => g.First())
                       .ToList();

    GridView1.DataBind();

    int totalRowsCount = GridView1.Rows.Count;
    Label2.Text = DateTime.Now.ToShortDateString();
    Label3.Text = totalRowsCount.ToString() + " record(s)";
    Label4.Text = DropDownList1.Text;
数据库中的数据

 facilities_id      name       date      Quantity
   F001              cc     12-12-2014     3
   F002              vv     12-12-2014     2
   F003              gg     12-12-2014     1
   F004              bb     12-12-2014     5
这是我的预期输出

  facilities_id     name       date     Quantity
   F004              bb     12-12-2014     5
   F001              cc     12-12-2014     3
   F002              vv     12-12-2014     2

使用
OrderByDescending
Quantity
降序对记录进行排序,然后
Take
first
3
记录:

query.GroupBy(x => x.facilities_id)
     .Select(g => g.First())
     .OrderByDescending(x => x.Quantity)
     .Take(3)
     .ToList();

使用
OrderByDescending
Quantity
降序对记录进行排序,然后
Take
first
3
记录:

query.GroupBy(x => x.facilities_id)
     .Select(g => g.First())
     .OrderByDescending(x => x.Quantity)
     .Take(3)
     .ToList();
用于降序“OrderByDescending”

.OrderByDescending(x=>x.Quantity)

用于升序“OrderBy”

OrderBy(x=>x.Quantity)

用于降序“OrderByDescending”

.OrderByDescending(x=>x.Quantity)

用于升序“OrderBy”


OrderBy(x=>x.Quantity)

您需要首先使用降序表示列数量,然后使用前三行

您需要首先使用降序表示列数量,然后使用前三行