私はデータベースに複数のフィールドを収集した後、合計を送信したいと思います。 しかし、フィールドを文字列として書く必要があります。 私は私の問題を完全に説明することができないかもしれません、私はそれを例示しようとします。Linq dynamic Sum
私がやりたいことは、私がやりたい
このコードのラムダ状態である:
expression = x => x.M1_TotalLoss + x.M2_TotalLoss;
マイコード:
var param = Expression.Parameter(typeof(FooDomain), "x");
var value = Expression.Property(param, ("M1_TotalLoss"+"M2_TotalLoss"));
var rest = Expression.Lambda<Func<FooDomain, double>>(value, param);
var result = myContext.FooDomain().
GroupBy(gp=>gp.Year).
Select(s => new
{
TotalLoss = Math.Round(s.AsQueryable().Sum(rest), 2)
}).
OrderByDescending(o => o.TotalLoss).
ToList();
しかし、私は書くことができないので、述語が正しく、次のエラーが表示されます。
exceptionMessage =例 'M1_TotalLossM2_TotalLoss'が 'FooDomain'タイプに対して定義されていません。
を実際に、それは簡単なquestion.Iだった私は私の質問に答えるために来ている をexpression.add表示されませんでしたそれから私はあなたがアンサーとして行ったあなたの答えを見た。どうもありがとう –