我想從我的數據庫中使用LINQ to Entities檢索一些數據。 (我最終使用這些數據來創建一個使用新的ASP.NET MVC3 ChartHelper的Chart。)更好的數據庫查詢檢索嵌套值
作爲其中的一部分,用戶傳入了兩個字符串,這兩個字符串是他感興趣的X字段的名稱Axis和Y軸數據。例如,「成本」與「時間」。然後我必須建立數據集,以便將它傳遞給ChartHelper。但是,檢索數據似乎相當笨拙,我希望有更好的方法來做到這一點。這就是我現在正在做的事情。 (objectiveX
和objectiveY
是代表類型名稱的字符串。)
List<double> xValues = new List<double>();
List<double> yValues = new List<double>();
// First get the data needed to build the chart.
foreach (Solution solution in this.Solutions)
{
IEnumerable<double> xVal = from x in solution.SolutionValues
where x.TypeName == objectiveX
select x.Value;
IEnumerable<double> yVal = from y in solution.SolutionValues
where y.TypeName == objectiveY
select y.Value;
xValues.AddRange(xVal);
yValues.AddRange(yVal);
}
有沒有更好的方式來做到這一點?每個「AddRange」實際上只增加一個值。我寧願只從一個選擇中獲得所有的價值。我知道這是可能的,但我似乎無法做到。
謝謝@克雷格。 (+1)我希望有一件事我可以在所有解決方案中進行選擇(不必使用foreach來做這件事,因爲這個(我認爲)是對數據庫的多次調用。是否有任何可能的方法可以做到這一點? – JasCav 2011-03-04 20:07:59
可能,但您不能在您的問題中提供足夠的代碼來回答這個問題,正如我在最後一句中所述。 – 2011-03-04 20:36:59