代码之家  ›  专栏  ›  技术社区  ›  Sachin Kainth

linq to entities组,后跟min

  •  0
  • Sachin Kainth  · 技术社区  · 6 年前

    我想编写以下sql作为linq to实体语句

    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? . 我可能错了,完全误入歧途了,但据我所知,这是我唯一缺少的。知道我能做什么吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   DavidG    6 年前

    你应该用的是 Select 不是一个 Min ,否则只能返回一个值。例如,如下所示:

    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
        });