c# 4.0 -在linq到实体的列表中选择不同的值



有一个表,它是实体框架生成的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上面有EmpIdName

我认为这就是为什么你需要使用Distinct/GroupBy(这并不真正适用于这种情况,正如你所发现的)。

我不在编译器附近,所以我不能测试它,但是…

使用Distinct()的另一个版本,即接受IEqualityComparer<TSource>参数的版本,然后使用OrderBy()

相关内容

  • 没有找到相关文章

最新更新