0

幅が 200 列のテーブルがあり、特定の行と列のデータを返す必要がありますが、実行時まで列がわかりません。リスト、厳密に型指定された個々のオブジェクト、またはLINQを介した配列のいずれかに必要な行を簡単に取得できますが、必要な列を見つける方法を一生理解できません。

したがって、たとえば(小規模では)私のテーブルは次のようになります

GrowerKey | day1 | day2 | day3  | day4 |
-----------------------------------------
  3       |  1   |   3  |   2   |   2 |
  4       |  6   |   1  |   9   |   1 |
  5       |  8   |   8  |   2   |   4 |

このような単純なもので必要な行を取得できます

Dim CleanRecord As List(Of Grower_Clean_Schedule) = (From key In eng.Grower_Clean_Schedules
                                                     Where key.Grower_Key = Grower_Key).ToList

実行時までどの列がわからない場合、その行の特定の列の値のみを返すにはどうすればよいですか (「day2」に格納されている値など)。

4

1 に答える 1

0

CleanRecordこのようなもの(質問で定義したものから始めます):

dim matchingRow = CleanRecord.First()

dim props = matchingRow.GetType().GetProperties( _
                BindingFlags.Instance or BindingFlags.Public))

dim myReturnVal = (from prop in props _
                   where prop.Name = "day2" _
                   select prop.GetValue(matchingRow, Nothing).FirstOrDefault()

return myReturnVal
于 2012-08-21T18:22:07.770 に答える