問題:各タイプの1行を選択しようとしています
表: EntryPrices
AttendingTypesId(int)
名前(nvarchar)
価格(int)
GroupId(int)
FromDate(DateTime)// yyyy-MM-dd
サンプル: 基本エントリ-100-1 --2012-08-01
スポンサーエントリー-350-2-2012-08-01
スタッフエントリー-70-3-2012-08-01
基本エントリー-150-1-2012-10-01
基本エントリー-200-1-2012-12-01
ご覧のとおり、3つの基本的なエントリがあります。それぞれは、登録した日付に応じて有効です。したがって、9月中旬に登録すると、11月150日半ばに100で、12月200日に終了します。
ただし、今日の日付に応じて「有効な」料金を取得したいので、それをドロップダウンリストにリストします。
したがって、今日(2012年8月2日)これをクエリすると、次の行が表示されます。
基本エントリー-100-1-2012-08-01
スポンサーエントリー-350-2-2012-08-01
スタッフエントリー-70-3-2012-08-01
これをクエリすると(2012-dec-20)、次の行が表示されます。
スポンサーエントリー-350-2-2012-08-01
スタッフエントリー-70-3-2012-08-01
基本エントリー-200-1-2012-12-01
linq-to-sqlでこれを構築するにはどうすればよいですか?
私のアイデアは次のようなものでした。
var f = from data in mc.AttendingTypes
where DateTime.Now.CompareTo(data.FromDate) > 0
group data by new { data.GroupId, data.Name, data.Price, data.AttendingTypesId }
into newData
select new { newData.Key.Name, newData.Key.Price, newData.Key.AttendingTypesId };