ラムダ式でSumメソッドを使用して比較しようとしていますが、複数の比較に使用したいと考えています。これをどのように達成するのですか?私は "Let"と "SelectMany"を見ましたが、私は答えを見つけることができませんでした。以下は c#複数の比較に合計を使用したラムダ式
は、コードは次のようになります。return _dbContext.All<Table>()
.Where(table => table.CurrentLevel <= salesCriteria.MaxTableLevel)
.Where(table => table.Leg
.Where(leg=> salesCriteria.StartDate <= leg.AddDate)
.Where(leg=> leg.AddDate <= salesCriteria.EndDate)
.Sum(leg => leg.Width) <= salesCriteria.MaxGoalAmount);
あなたが見ることができるように、私は幅すべてが少なくなるまで追加一定の基準として脚を持っている特定の条件ですべてのテーブルを取得しようとしていますある値よりもまた、Sumが一定の最小値よりも大きいことを確認したいと思います。しかし、私はすぐにそれをやることができません。私は、リストを失います。だから私はここでそれをどのように達成するだろうか?だからここSelect
は、クエリ式でlet
を使用するのと同じである
return _dbContext.All<Table>()
.Where(table => table.CurrentLevel <= salesCriteria.MaxTableLevel)
.Select(table => new {
table,
legWidth = table.Leg
.Where(leg=> salesCriteria.StartDate <= leg.AddDate)
.Where(leg=> leg.AddDate <= salesCriteria.EndDate)
.Sum(leg => leg.Width)
})
.Where(x => x.legWidth <= salesCriteria.MaxGoalAmount &&
x.legWidth >= salesCriteria.MinGoalAmount)
.Select(x => x.table);
:私が欲しいのはのminValue < = .SUM()< = maxValueの
他の基準を適用する前に、前もって定義した基準を満たす脚のセット、または脚の全体のセットに合計を適用しますか? –
'let'はあなたを助けませんでしたか? – Gabe