使用场景:
当我们有 A,B 两张表并且是 1:n 的关系,其中 A 为主表的时候,使用联表查询的时候,必然会出现 n 条记录的数据
换做实际场景,我们的商品a,有多种规格b1,b2,b3,不同规格对应不同的价格,但是我们这个时候需要获得该商品中规格最低价的一条数据

实现:
假设我们已经获取到了结果集,转换为表格如下

商品id 名称 规格 价格
1          A1   B1     1
1          A1   B2     2
2          A2   B3     1

var data = (from t in table.OrderBy(p=>p.money)
            group t by t.id into newt
            select new Test
            {
                id = newt.Key,
                name = newt.FirstOrDefault().name
                money = newt.FirstOrDefault().money
            });

最后得出的结果就是

商品id 名称 规格 价格
1          A1   B1     1
2          A2   B3     1

当然还可以通过 Average(),Min(),Max(),Sum() 等聚合函数来获得自己想要的其他数据