データベースのデータをチャートに入力しようとしています。私は Entity フレームワークを使用しており、asp.net にはかなり慣れていません。
私がやろうとしているのは、linq クエリからグラフを作成することです。
var totals = from s in db.ClassInstanceDetails.Include("ClassInstance")
where s.ClassInstance.ClassID == 2
group s by s.ClassInstance.Date into grouped
select new
{
CIDate = grouped.Key,
TotalStudentsInClass = grouped.Count(s => s.Attendance)
};
linq クエリは正常に機能し、classinstance 内のすべての学生をカウントし、それらをグループ化してカウントします。私の問題は、データを抽出してチャートに入れる方法です。デバッグすると、合計変数が
{System.Data.Objects.ObjectQuery<<>f__AnonymousType0<System.DateTime,int>>}
そして、合計によって保持される結果ビューを次のように見ることができます:
{CIDate = {04/09/2012}, TotalStudentsInClass = 5}
{CIDate = {05/09/2012}, TotalStudentsInClass = 7}
{CIDate = {06/09/2012}, TotalStudentsInClass = 14}
クエリが機能するので、これは素晴らしいことです。特定のクラスのインスタンスに何人の生徒が出席したかがわかります。ハイチャートを使用して、このデータを折れ線グラフに入れようとしています。linq の結果を 2 つの配列に分けようとしました。1 つは日付を含む配列で、もう 1 つは TotalStudentsInClass 値を含む配列ですが、タイプが異なるため運がありませんか??? これはこれを行う正しい方法ですか?
私がオンラインで見つけた例は、私が思う配列から引っ張っています
.SetSeries(new[]
{
new Series { Name = "Tokyo", Data = new Data(ChartsData.TokioData) },
new Series { Name = "New York", Data = new Data(ChartsData.NewYorkData) },
new Series { Name = "Berlin", Data = new Data(ChartsData.BerlinData) },
new Series { Name = "London", Data = new Data(ChartsData.LondonData) }
}
オブジェクトからのデータで、
public static object[] TokioData = new object[] { 7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6 };
linq クエリをオブジェクトに実行しようとしましたが、どうすればよいか分からないほど多くのエラーがスローされます!!
どんな助けでも大歓迎です!!