有一个表,它是实体框架生成的poco实体。
class Log
{
int DoneByEmpId;
string DoneByEmpName
}
我正在从数据库中检索列表。我想要基于donebyempid的不同值,并按这些值empname排序。
我已经尝试了很多方法,但它不工作
var lstLogUsers = (context.Logs.GroupBy(logList => logList.DoneByEmpId).Select(item => item.First())).ToList(); // it gives error
这个得到了所有的用户。
var lstLogUsers = context.Logs.ToList().OrderBy(logList => logList.DoneByEmpName).Distinct();
谁能告诉我如何做到这一点?
我可以指出你的数据模型可能有问题吗?我想这里应该只有DoneByEmpId
,还有一个单独的表Employee
上面有EmpId
和Name
。
我认为这就是为什么你需要使用Distinct
/GroupBy
(这并不真正适用于这种情况,正如你所发现的)。
我不在编译器附近,所以我不能测试它,但是…
使用Distinct()
的另一个版本,即接受IEqualityComparer<TSource>
参数的版本,然后使用OrderBy()
。