Sono un programmatore da alcuni anni ma sono un
nuovo arrivato a LINQ e C# quindi perdonami se la mia domanda suona
particolarmente stupida.Come posso creare una query LINQ dinamica in C# con possibili clausole multiple per gruppo?
Spero che qualcuno possa indicarmi la direzione giusta
. Il mio compito è di creare un gruppo multiplo dinamico tramite query linq all'interno di uno script C# usando
un elenco generico come sorgente.
Per esempio, dire che ho un elenco contenente gli oggetti multipli con la seguente
struttura:
FieldChar1 - character
FieldChar2 - character
FieldChar3 - character
FieldNum1 - numeric
FieldNum2 - numeric
In poche parole voglio essere in grado di creare una query LINQ che
sommerà FieldNum1 e FieldNum2 raggruppati da uno, due o tutti e tre i campi FieldChar che verranno decisi al runtime
in base ai requisiti degli utenti e selezionando i campi FieldChar nella stessa query.
ho le dynamic.cs nel mio progetto, che include solo un metodo di estensione GroupByMany ma devo ammettere che non sono realmente sicuro come mettere questi da usare. Sono in grado di ottenere i risultati desiderati se utilizzo una query con un gruppo cablato per richieste ma non dinamicamente.
Ci scusiamo per qualsiasi nomenclatura errata, sono nuovo in questa lingua, ma qualsiasi consiglio sarebbe il benvenuto.
Molte grazie
Alex
Molte grazie per la risposta. Lo apprezzo e mi dà qualcosa di nuovo da guardare. Ma è possibile ottenere il tuo esempio di ... var groups = people.GroupBy (p => new {p.Age, p.Sex}); in una riga di codice in cui la clausola group by (p.Age, p.Sex) può essere sostituita da una stringa variabile creata in precedenza che potrebbe essere una qualsiasi combinazione di età e/o sesso? Vengo da uno sfondo FoxPro/SQL in cui è possibile creare dinamicamente la query utilizzando la concatenazione di stringhe. Di nuovo apprezzo il tuo aiuto. – FordPrefect141
@ FordPerfect141 - Con LINQ, non è possibile concatenare semplicemente stringhe, perché LINQ deve essere fortemente digitato. È possibile ottenere qualcosa di simile creando dinamicamente tale espressione. – Venemo
Ah-ha. Quindi nel tuo esempio, se l'utente volesse raggruppare a volte per sesso ed età, e qualche volta solo per età, come andresti a farlo senza realmente codificare il gruppo in base alla clausola? Mi scuso di nuovo, questo è tutto nuovo per me. Molte grazie ancora. – FordPrefect141