Ich habe diesen Beitrag gefolgt: LINQ group by property as a parameter, um eine parametrisierbare Abfrage zu machen, und ich versuche jetzt, das gleiche nach einer Gruppierung nach Klausel, aber ich kann die Gruppe nicht richtig definieren/oder auf die Eigenschaften danach zugreifen. Hier ist, was ich versuche zu erreichen:linq parametrisierbare Gruppe von nach einer Join-Klausel
public Dictionary<string, float?> GetFundingByFilter<TKey>(Expression<Func<Object, TKey>> myGroupingProperty, Filter item)
{
int cntToBeSureThatTheQueryExecuteAtLeastOneTime = 0;
Dictionary<string, float?> countriesAndCount = new Dictionary<string, float?>();
using (var db = new fintechDbContext())
{
countriesAndCount = (from p in db.companyDBSET
join f in db.fundingDBSET on p.Company equals f.Company into d
from t in d.DefaultIfEmpty()
select new {p, t })
.GroupBy(myGroupingProperty)
.Select(r => new { Value = r.Key, Sum = r.Sum(d => d == null ? 0 : d.t.Amount) })
.OrderByDescending(y=>y.Sum)
.ToDictionary(v => v.Value.ToString(), v => v.Sum);
}
}
}
return countriesAndCount;
}
aber d.t.Amount nicht mehr zugänglich ist in diesem Fall.
Das Problem ist ** Objekt ** innerhalb von 'Expression>'. Selbst wenn du es irgendwie kompilierst, wie denkst du, kannst du es nennen? –