Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
C# linq-按日期的不同函数动态分组_C#_Linq - Fatal编程技术网

C# linq-按日期的不同函数动态分组

C# linq-按日期的不同函数动态分组,c#,linq,C#,Linq,下面是我的简单sql查询 SELECT source, date ,COUNT (*) FROM query WHERE source in ('a value') GROUP BY source, date 我花了一段时间才理解并用linq表示法实现它,这也多亏了这个网站的提示,最终我做到了 var selekt = dt.AsEnumerable(); var alldata = from ad in selekt where ad["source"].ToS

下面是我的简单sql查询

SELECT source, date ,COUNT (*) 
FROM query 
WHERE source in ('a value')
GROUP BY source, date
我花了一段时间才理解并用linq表示法实现它,这也多亏了这个网站的提示,最终我做到了

var selekt = dt.AsEnumerable();
var alldata = from ad in selekt
             where ad["source"].ToString().Equals(this.comboBox1.Text)
             group ad by new 
             {
                err = ad["err"], 
                date = ad["date"] 
             }into g
             orderby g.Key.err ascending, g.Key.channel descending
             select new 
             { 
                Name = g.Key.err, 
                Date = g.Key.date, 
                C = g.Count()
             };
这或多或少是我需要的,它在where子句中还包含动态元素。 最后一点我不能理解的是动态组子句。 取决于我要按日期的三个函数之一对查询进行分组的表单上的值:天/周/月。我想最困难的部分可能是每周分组。
无论如何,欢迎您提供有关此主题的所有提示

您能为组提供三个函数的示例吗?日期和月份很简单:dataD=Convert.ToDateTimead[data]。ToSortDateString dataM=Convert.ToDateTimead[data].Month我现在正在考虑在我的数据表中增加一列,包含周数。您想检测应该使用什么方法?我的winform中有一组复选框:天/周/月。为了方便起见,我在datatable列中添加了week。所以现在我可以使用其中一种分组方法:dataD=Convert.ToDateTimead[data].ToShortDateString dataW=ad[week]dataM=Convert.ToDateTimead[data].Month现在的问题是如何选择正确的方法?是否可以包含linq查询的部分?类似于选择零件+其中零件+组零件