【发布时间】:2019-11-05 19:38:38
【问题描述】:
我需要“翻译”这段代码示例:
using var db = new MyDbContext();
var simple_linq = db.USERS.GroupBy(u => u.id_employee).Select(u => u.FirstOrDefault()).ToList(); //it's worked fine for me
与动态 LINQ 相同的代码。我试过了:
var dynamic_linq = db.USERS.GroupBy(groupBy, "it").Select("it"); // but I need Dynamic LINQ
我在dynamic_linq 中收到一个USERS 对象(对我来说非常重要),但不知道如何获得唯一的USERS,不知道如何使用FirstOrDefault() 动态 LINQ 中的函数,不知道如何将结果转换为 List。不知道其他解决方案。
我也尝试使用MoreLinq 库中的DistinctBy(),但它不能与动态表达式一起使用。
有什么想法吗?
【问题讨论】:
-
您是否需要您的
Select是动态的,或者您可以只使用普通的Select吗?另外,如果你做Select("it.FirstOrDefault()")怎么办?您使用的是什么动态 LINQ 包? -
@NetMage 我可以使用普通的
Select,动态的必须是GroupBy。当我尝试使用Select("it.FirstOrDefault()"时出现错误。使用System.Linq.Dynamic。 -
@NetMage 错误文本:“不存在适用的聚合方法 'FirstOrDefault'”。
标签: c# entity-framework linq group-by dynamic-linq