non v'è alcun modo per scrivere una query LINQ di provocare
No. La prima cosa è. per capire di cosa hai bisogno, per esempio, in T-SQL
, puoi usare:
COUNT(*)
conteggia le righe nella tabella
COUNT(column)
conteggia le voci in una colonna, ignorando i valori nulli.
Se avete bisogno di contare il numero di righe che hai, basta usare
var total = tbl1.Count();
Se avete bisogno di vedere quante entità si ha dove una colonna specifica non è nullo, quindi utilizzare un filtro sovraccarichi di Metodo Count
.
var total = tbl1.Count(x => x.Id != null);
No, non è possibile. Non vi è alcuna differenza con le prestazioni utilizzando Count(*)
o'Count (Id) , even more if your
Id` è la chiave primaria.
Ho fatto un esperimento con un tavolo qui con più di un milione di tuple. Vedi il piano di esecuzione di entrambe le query. Il primo è il select count(*)
e il secondo è select count(id)
.Il id
è la chiave primaria (scusate i risultati sono in portoghese-brasile):

fonte
2015-11-18 13:46:25
Ha restituire un risultato diverso? – Shaharyar
Utilizzare 'Where' invece di' Select' – Shaharyar
Forse 'tbl1.Count (x => x.Id! = Null)' – haim770