有一个表,它是由实体框架生成的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();
任何人都可以建议如何实现这一点。
答案 0 :(得分:0)
我可以指出您的数据模型可能存在问题吗?我想你应该在这里DoneByEmpId
,以及一个Employee
和EmpId
的单独的表Name
。
我认为这就是你需要使用Distinct
/ GroupBy
的原因(正如你所发现的那样,这种方案并不适用)。
答案 1 :(得分:0)
我不在编译器附近,所以我无法测试它,但是......
使用Distinct()
的其他版本,即带有IEqualityComparer<TSource>
参数的版本,然后使用OrderBy()
。
例如,请参阅here。