Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework Linq到实体组,后跟Min_Entity Framework_Group By_Linq To Entities - Fatal编程技术网

Entity framework Linq到实体组,后跟Min

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,

我想将以下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?);

我想我唯一缺少的是
这里有什么?
。我可能错了,完全误入歧途,但据我所知,这是我唯一缺少的东西。你知道我能做什么吗?

你应该使用的是
选择
而不是
分钟
,否则你只能返回一个值。例如,类似这样的内容:

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相同的输出。