4

我有 2 节课:

 Employee
 EmployeeDetails

我想有一个列表,首先排序 Employee 然后对其进行排序,然后 EmployeeDetails orderby 然后对其进行排序。

我在想这样的事情:

var result = _db.Employee
              .OrderBy( e => e.EmpName )
              .Sort('DepartmentId') // using the diff property
              .ThenBy( ed => ed.EmpAddress )
              .Sort('PostCode'); // using the diff property

我需要EmpName先从 Employee 中排序,然后从我想按 EmpAddress 排序的那些结果集中对其进行排序,然后对其进行排序,然后返回结果集。

这甚至可能吗?可以不使用 Lambda 来完成吗?是其他方法吗?

4

3 回答 3

6

以下代码是您要查找的代码吗?

var result = _db.Employee
                .OrderBy(e => e.EmpName)
                .ThenBy(e => e.DeptartmentId)
                .ThenBy(e => e.EmpAddresss)
                .ThenBy(e => e.PostCode);
于 2012-07-09T15:18:48.593 回答
1

您正在寻找:

var result = _db.Employee
              .OrderBy( e => e.EmpName )  //OrderBy and SortBy empname  Ascending
              .ThenBy( ed => ed.EmpAddress ); //orderby address ascending
于 2012-07-09T15:00:56.273 回答
1

如果你的Employee班级有一个EmployeeDetails带有 的属性EmpAddress,你可以这样做:

var result = _db.Employee
          .OrderBy( e => e.EmpName )
          .ThenBy( e => e.EmployeeDetails.EmpAddress );
于 2012-07-09T15:03:05.390 回答