EF选择与实体一个字段不同的记录

我需要“翻译”此代码示例:

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

与Dynamic LINQ相同的代码。我已经尝试过:

var dynamic_linq = db.USERS.GroupBy(groupBy,"it").Select("it"); // but I need Dynamic LINQ

我在USERS中收到了dynamic_linq个对象(对我来说非常重要),但不知道如何获得唯一的USERS,不要不知道如何在Dynamic LINQ中使用FirstOrDefault()函数,不知道如何将结果转换为List。不知道其他解决方案。

我也尝试过使用DistinctBy()库中的MoreLinq,但是它不能用于动态表达式。

有什么想法吗?

qzheng123 回答:EF选择与实体一个字段不同的记录

使用System.Linq.Dynamic.Core时,您应该可以使用以下代码:

var users = new[] { new { id_employee = 1,name = "a"  },new { id_employee = 1,name = "b"  } }.AsQueryable();

var simple_linq = users.GroupBy(u => u.id_employee).Select(u => u.FirstOrDefault()).ToList();
simple_linq.Dump();

var dynamic_linq = users.GroupBy("id_employee","it").Select("it.FirstOrDefault()");
dynamic_linq.Dump();

enter image description here

本文链接:https://www.f2er.com/3156859.html

大家都在问