これを処理する最良の方法は、DataGridの行ごとに1年を表示できるようにするために、12か月のレコードを1年のレコード/オブジェクトに常に「ピボット」する必要があるアプリケーションです。私は、ピボットを実行するために、いくつかの醜いT-SQLを使用してDataSetsでこの時点までこの作業を行ってきました。
現在、このアプリケーションをNHibernateにアップグレードしていますが、これが1つの問題点です。
例として、私が月に一度学生のグループに与えるテストがあるとしましょう。私のDDLは次のようになります。
CREATE TABLE [Score](
[ScoreId] [int] IDENTITY(1,1) NOT NULL,
[StudentId] [int] NOT NULL,
[Year] [int] NOT NULL, -- 4 digit year as an int
[Month] [int] NOT NULL, -- 1 through 12 month value as int
[TestScore] [int] NOT NULL
)
DataGrid(学生/年ごとに1つのレコード)に次のフィールドを表示したい:
学生名、年、1月、2月、3月、4月、5月、6月、7月、8月、9月、10月、11月、12月
NHibernateでこの種のタスクに取り組む通常の方法は何ですか?どのように処理しますか?