Entity framework Linq到实体组,后跟Min
我想将以下SQL作为Linq to Entities语句编写Entity framework Linq到实体组,后跟Min,entity-framework,group-by,linq-to-entities,Entity Framework,Group By,Linq To Entities,我想将以下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,
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?);
我想我唯一缺少的是
这里有什么?
。我可能错了,完全误入歧途,但据我所知,这是我唯一缺少的东西。你知道我能做什么吗?你应该使用的是选择
而不是分钟
,否则你只能返回一个值。例如,类似这样的内容:
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
});
你想要一个
Select
而不是Min
否则你只能返回一个值。好的,那么你能告诉我这可能是什么样子吗?类似于:.Select(x=>new{code=x.Key,MinDate=x.Min())
虽然我认为可能需要指定我需要的是EndDate列的最小值,但请不要使用Join()
。首先在t1
和t2
之间创建导航属性。在那之后,它变得非常简单。它是一个,但在g中没有一个。我想我需要投球?你不必投球。什么数据类型是EndDate
?它是日期时间。我的意思是,我可能需要在g上加一个演员,这样就可以有一个和两个。我真的不知道你现在在问什么。LINQ I show将为您提供与SQL相同的输出。