在EF Select语句中获取可变数量的列?

时间:2014-09-25 19:06:35

标签: c# asp.net-mvc entity-framework enums

给出以下代码:

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数组中指定动态列而不是在代码中指定一个?

0 个答案:

没有答案