Linq to Entities Group 之后是 Min

Linq to Entities Group by followed by Min

我想编写以下 SQL 作为 Linq to Entities 语句

select min(enddate), Code 
from t1
inner join t2
on t1.t2id = t2.id
group by Code

到目前为止我所拥有的是

var data = ctx.t1.Join(ctx.t2,
                        one => one.t2id,
                        two => two.Id,
                        (one, two) => new {one, two})
                    .GroupBy(onetwo => onetwo.one.t2id)
                    .Min(onetwo => WHAT GOES HERE?);

我认为我唯一缺少的是 WHAT GOES HERE? 中的内容。我可能是错的,完全误入歧途,但据我所知,这是我唯一缺少的东西。知道我能做什么吗?

您应该使用 Select 而不是 Min,否则您将只能 return 一个值。例如,像这样:

var data = ctx.t1
    .Join(ctx.t2, one => one.t2id, two => two.Id, (one, two) => new {one, two})
    .GroupBy(onetwo => onetwo.one.t2id)
    .Select(x => new 
    {
        Code = x.Key, 
        MinDate = x.Min(g => g.one.EndDate) //This may need to be g.two.EndDate
    });