为了账号安全,请及时绑定邮箱和手机立即绑定

将 IQueryable 从 IQueryable<IGrouping<int, object>>

将 IQueryable 从 IQueryable<IGrouping<int, object>>

C#
子衿沉夜 2021-06-30 05:57:01
我有一个问题转换的IQueryable<IGrouping<int, object>>到IQueryable<object>。该对象是一个具有 属性的类int Index。该IGrouping's密钥是指数。我想IQueryable<object>在考虑唯一最低索引的地方进行合并。例如几个分组IGrouping<3, object>IGrouping<4, object>IGrouping<4, object>IGrouping<5, object>IGrouping<6, object>IGrouping<3, object>IGrouping<3, object>结果应该是IQueryable<object>只有索引为3的对象在里面。PS 我需要IQueryable在它上面执行 DateTime DbFunctions。所以希望这可以通过一个 SQL 查询来完成。
查看完整描述

3 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

其实我终于找到了一个合适的解决方案。以前答案的问题始终是First()电话。


list.Where(SomeFilterExpression)

    .GroupBy(e => e.Index)

    .OrderBy(g => g.Key)

    .Take(1)

    .SelectMany(g => g.Select(e => e))

    .Where(SomeAdditionalFilterExpression)

    .ToList()

这段代码(尤其是Take()帮助我仅使用一个SQL 查询来解决我的问题)无论如何感谢您的专业知识。


查看完整回答
反对 回复 2021-07-03
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

您可以使用对您的组进行排序OrderBy,然后将第一组与FirstOrDefault


var firstGroup = list.GroupBy(x => x.Index)

  .OrderBy(g => g.Key)

  .FirstOrDefault()

  .AsQueryable();


查看完整回答
反对 回复 2021-07-03
  • 3 回答
  • 0 关注
  • 238 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信