プロジェクト テーブル:
ID、DeptId、年、名前、レベル
Id = 1, DeptId = 1, Year = 2000, Name = "ABC", Level = 1
Id = 2, DeptId = 1, Year = 2001, Name = "ABC1", Level = 1
Id = 3, DeptId = 1, Year = 2002, Name = "ABC2", Level = 1
Id = 4, DeptId = 2, Year = 2000, Name = "ABC3", Level = 1
Id = 5, DeptId = 2, Year = 2002, Name = "ABC4", Level = 1
Id = 6, DeptId = 3, Year = 2000, Name = "ABC5", Level = 1
Id = 7, DeptId = 3, Year = 2001, Name = "ABC6", Level = 1
Id = 8, DeptId = 3, Year = 2002, Name = "ABC7", Level = 1
プロジェクトテーブルがあります。2001 年の各部門のプロジェクトを取得する必要があります。DeptId = 2 の場合、2001 年のプロジェクトはありません。2000 年の前年のプロジェクトを表示する必要があります。
私のlinqは次の結果を返すはずです。
Id = 2, DeptId = 1, Year = 2001, Name = "ABC1", Level = 1
Id = 4, DeptId = 2, Year = 2000, Name = "ABC3", Level = 1
Id = 7, DeptId = 3, Year = 2001, Name = "ABC6", Level = 1
groupby を使用して DeptId をグループ化することを考えていましたが、このクエリの書き方がわかりません。
アップデート:
これは私が試したものです。
var プロジェクト = project.Where(x=>x.Year == 2001)
しかし、これはDeptId = 2の結果を返しません。そのため、groupbyを使用することを考えていますが、書き方がわかりません。