我有2个班级:
Employee
EmployeeDetails
我希望有一个列表,首先订购Employee然后对其进行排序,然后按EmployeeDetails排序,然后对其进行排序。
我在考虑这样的事情:
var result = _db.Employee
.OrderBy( e => e.EmpName )
.Sort('DepartmentId') // using the diff property
.ThenBy( ed => ed.EmpAddress )
.Sort('PostCode'); // using the diff property
我需要先从Employee中按EmpName
进行排序,然后在我希望按EmpAddress排序的结果集之后对其进行排序,然后对其进行排序,然后返回结果集。
这甚至可能吗?可以在不使用Lambdas的情况下完成吗?是其他方法吗?
答案 0 :(得分:5)
以下代码是您要找的吗?
var result = _db.Employee
.OrderBy(e => e.EmpName)
.ThenBy(e => e.DeptartmentId)
.ThenBy(e => e.EmpAddresss)
.ThenBy(e => e.PostCode);
答案 1 :(得分:1)
您正在寻找:
var result = _db.Employee
.OrderBy( e => e.EmpName ) //OrderBy and SortBy empname Ascending
.ThenBy( ed => ed.EmpAddress ); //orderby address ascending
答案 2 :(得分:1)
如果您的Employee
课程的EmployeeDetails
属性为EmpAddress
,则可以执行以下操作:
var result = _db.Employee
.OrderBy( e => e.EmpName )
.ThenBy( e => e.EmployeeDetails.EmpAddress );