C# Don';按属性排序
我有DB,由两个表组成:C# Don';按属性排序,c#,linq,C#,Linq,我有DB,由两个表组成: **Job** job_id (int, primary key), job_nm (nchar(50)) **Employee** empl_id (int, primary key) job_id (int, forein key) (one-to-many) first_name (nchar(50)) last_name (nchar(50)) salary (float) 我逐页输出表(
**Job**
job_id (int, primary key),
job_nm (nchar(50))
**Employee**
empl_id (int, primary key)
job_id (int, forein key) (one-to-many)
first_name (nchar(50))
last_name (nchar(50))
salary (float)
我逐页输出表(每页5行)。
它意识到:
ViewBag.Tab = (from employee in db.Employees
join job in db.Jobs on employee.job_id equals job.job_id
where job.job_nm == sel1
orderby employee.salary
select employee
).Skip(pageSize * pageNum)
.Take(pageSize)
.ToList();
但我没有按“薪资”字段列表排序
我尝试了以下代码:
ViewBag.Tab = (from employee in db.Employees
join job in db.Jobs
on employee.job_id equals job.job_id
where job.job_nm == sel1
orderby employee.salary
select employee
).Skip(pageSize * pageNum)
.Take(pageSize)
.ToList()
.OrderBy(s => s.salary);
但这并没有结果
我做错了什么?需要在
跳过和接受之前提交OrderBy
。另一方面,您只需订购您的小结果集
尝试:
我尝试了这个方法,但它没有按“薪水”对结果进行排序:(我注意到您的查询中已经有一个OrderBy,如果您在LINQ语句中取出OrderBy,这有帮助吗?
ViewBag.Tab = (from employee in db.Employees
join job in db.Jobs
on employee.job_id equals job.job_id
where job.job_nm == sel1
orderby employee.salary
select employee
).OrderBy(s => s.salary)
.Skip(pageSize * pageNum)
.Take(pageSize)
.ToList();