Sto usando il massiccio ORM di Rob Conery.Contare su un IEnumerable <dynamic>
Esiste un modo elegante per eseguire un conteggio sul set di record restituito?
Sto usando il massiccio ORM di Rob Conery.Contare su un IEnumerable <dynamic>
Esiste un modo elegante per eseguire un conteggio sul set di record restituito?
Anziché chiamarlo utilizzando la sintassi del membro del metodo di estensione, provare a chiamare direttamente il metodo statico.
int count = Enumerable.Count(queryFromMassiveDynamic);
La domanda è un po 'spenta. In realtà non stai facendo un conteggio di IEnumerable<dynamic>
. Sei cercando un conteggio su un dynamic
(che si spera detiene un IEnumerable
).
Il modo più semplice per farlo è quello di utilizzare un cast:
var z = (queryFromMassiveDynamic as IEnumerable<dynamic>).Count();
Si può prendere la risposta di sehe, che è quello di lanciare il risultato.
var z = (queryFromMassiveDynamic as IEnumerable<dynamic>).Count();
Invece, rendersi conto di ciò che si ottiene dalla funzione Membro della query. In effetti stai ottenendo un IEnumerable di tipo dinamico e var ha problemi con quelli.
Modificare questa linea
var queryFromMassiveDynamic = viewModelExpando.TenTricksNewestFirst;
Per questo
IEnumerable<dynamic> queryFromMassiveDynamic = viewModelExpando.TenTricksNewestFirst;
Conte verrà visualizzato senza dover fare alcun casting.
+1 ovviamente ... il metodo di estensione non è stato trovato. Sono affascinato dalla magia della risoluzione di sovraccarico di runtime di dinamica. Mi sembra di dimenticarmene sempre. – sehe