您能简化这个链接到实体的groupBy查询吗?

本文关键字:实体 groupBy 查询 链接 | 更新日期: 2023-09-27 18:06:30

 List<int> types = Hospitals.GroupBy(h => h.TypeId, (key, group) => group.First())
                    .Select(t=> y.TypeId).ToList();

试图从List<Hospital>对象中获取不同的类型id。我不是这些linq查询方面的专家,只是想知道是否有更好的方法。

您能简化这个链接到实体的groupBy查询吗?

如果您只想要不同的TypeId字段,则要简单得多:

var types = Hospitals.Select(h => h.TypeId).Distinct();

只是对原始查询的旁注:我经常发现这些操作的方法风格语法不如查询理解式可读。当然,这取决于个人风格,但到目前为止,我认为我还没有用方法语法编写过GroupBy()或Join();对我来说,这样更好:

var types = from h in Hospitals
            group h by h.TypeId into types
            select types.Key;