0

LINQ クエリの結果を double 配列に設定する必要があります。次のステートメントを実行した後、匿名型を取得し、配列を double 型に変換できません。どうやってやるの?コード:

var rls = context.Test
    .GroupBy(cont => new
    {
        wd = System.Data.Objects.SqlClient.SqlFunctions.DatePart("weekday", cont.datetime),
        hh = System.Data.Objects.SqlClient.SqlFunctions.DatePart("hour", cont.datetime)
    })
    .Select(rs => new
        {
            rs.Key.wd,
            rs.Key.hh,
            count = rs.Count()
        }).Where(rs => rs.hh != null & rs.wd !=null).ToArray();

前もって感謝します。

4

1 に答える 1

1

問題は、このSelectメソッドが匿名型を返し、これがその後のクエリの戻り値の型になることです。

.Select(rs => new
    {
        rs.Key.wd,
        rs.Key.hh,
        count = rs.Count()
    })

Select別の型を返すには、パイプラインで返す新しい値を作成する別のステートメントが必要です。質問は返品を受け取ることについて言及していますが、doubleどの値を値にしたいかは不明ですdouble。パラメータを返したいだけの場合wdは、次のことができます

.Where(rs => rs.hh != null & rs.wd !=null)
.Select(x => x.wd)
.ToArray();
于 2013-08-22T16:21:03.667 に答える