如何 select 我的 linq to sql 查询中的两个列值?

How to select two column values in my linq to sql query?

我是linq to sql这方面的初学者:

var query = (from p in behzad.STATUS
                         select p);

            var taskCounts = (from worker in query.ToList()
                              group worker by worker.date into g
                              select g.Select(x=>x.natije) 
                                ).ToArray();


但是在这一行 select g.Select(x=>x.natije) select 只是 x.natije ,我想要 select 另一个字段 x.qaza,我怎么写呢?

简单地创建一个匿名类型:-

 var taskCounts = (from worker in query
                   group worker by worker.date into g
                   select g.Select(x=> new { natije = x.natije, qaza = x.qaza } );

因为这个 returns IEnumerable<IGrouping<T,T>> 你将不得不使用两个 foreach 循环来获取数据:-

foreach (var item in taskCounts)
{
    foreach (var x in item)
    {
         tempo = x.natije  //here
    }
}

此外,您可以从第一组中找到第一个 natije,但这可能会导致错误:-

 string tempo = res.First().First().natije;

您可以在 select 上创建一个动态对象:

       var query = (from p in behzad.STATUS
                     select p);

        var taskCounts = (from worker in query.ToList()
                          group worker by worker.date into g
                          select g.Select(x=> new  {  Natije = x.natije,  Qaza = x.qaza }) 
                            ).ToArray();