C# EF Core 3.1/MySQL-在Distinct()之后忽略OrderByDescending
我运行这个查询C# EF Core 3.1/MySQL-在Distinct()之后忽略OrderByDescending,c#,entity-framework,linq,C#,Entity Framework,Linq,我运行这个查询 var query = await _db.Production .OrderByDescending(q => q.Id) .Where(q => q.Industry > 0) .Select(m => m.FromCompany).Distinct().Take(10).ToListAsync() 并获得以下信息 然而,我希望看到 订单依据
var query = await _db.Production
.OrderByDescending(q => q.Id)
.Where(q => q.Industry > 0)
.Select(m => m.FromCompany).Distinct().Take(10).ToListAsync()
并获得以下信息
然而,我希望看到
订单依据生产
id
DESC
那是我在乞讨时做的
.OrderByDescending(q=>q.Id)
我怎样才能在点菜后点菜
更新 如果我在distinct之后下订单,我将无法按ID排序: 错误CS1061“int”不包含“Id”和“no”的定义 可访问扩展方法“Id”接受类型为的第一个参数 找不到“int”(是否缺少using指令或程序集 参考?) PS我已经报告了这个“问题” 现在它已“修复”,人们将在.NET6中收到警告 PS我已经报告了这个“问题” 现在它已“修复”,人们将在.NET6中收到警告
订购人必须位于不同的订单之后。要获取该位置的ID,请使用匿名对象传递-或使用GroupBy。按未经过集合的列排序是不符合逻辑的/不保证的(因此它会被删除)。@user28647400我已经报告过这个问题,在以后的版本中将被警告。一个警告可能会省去很多麻烦。OrderBy必须在Distinct之后出现。要获取该位置的ID,请使用匿名对象传递-或使用GroupBy。按未经过集合的列排序是不符合逻辑的/不保证的(因此它会被删除)。@user28647400我已经报告过这个问题,在以后的版本中将被警告。一个警告可能会省去很多麻烦。
Executed DbCommand (64ms) [Parameters=[@__p_0='?' (DbType = Int32)], CommandType='Text', CommandTimeout='30']
SELECT DISTINCT `j`.`from_company`
FROM `production` AS `j`
WHERE (`j`.`Industry` > 0)
LIMIT @__p_0