您可以通过查询简化此linq到实体组吗?

时间:2011-08-24 20:32:30

标签: c# linq linq-to-entities

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

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

1 个答案:

答案 0 :(得分:5)

如果你想要的只是不同的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;