给出以下代码:
public Charts(chartType chartStyle, DateTime[] dateRange, dataColumn[] column){
//get the data and store it
switch (chartStyle) {
case chartType.Bar:
//requires a span for x, min and max for y
ChartData = db.visitorInformation
.Where(w => w.dateOfVisit >= dateRange[0])
.Where(w => w.dateOfVisit <= dateRange[1])
.Select(c => new visitorInformation {
dateOfVisit = c.dateOfVisit,
browser = c.browser
}).ToDictionary(c=>c.dateOfVisit.ToString(),c=>c.browser);
break;
...
}
}
.Select可用于指定精确列但我需要能够使用dataColumn枚举数组指定未知数量的列(其数据类型与我的表和实体框架模型中的列名相同)。很明显,我不能只是遍历数组来链接选择,尽管那会很好。我怎么能想到这样一个疯狂而愚蠢的想法?
请注意,ToDictionary尚未考虑多个列 - 它只是占位符代码,但是,如何从dataColumn Enum数组中指定动态列而不是在代码中指定一个?