Stavo guardando il mio profiler e sembra che il metodo di estensione Linq Single
selezioni 2 righe. Quindi, perché il metodo di estensione LINQ Single
crea una query Select TOP(2)
? Non dovrebbe invece essere select top(1)
?Perché il metodo di estensione Single LINQ crea una query Selezionare TOP (2)?
9
A
risposta
11
First
richiede solo un singolo risultato. Single
richiede due risultati perché restituisce un risultato solo se esiste esattamente un membro del set di risultati. Se ci sono zero o due (o più di due) lancia un'eccezione, quindi deve richiedere almeno due risultati.
Problemi correlati
- 1. query LINQ per selezionare Top-
- 2. Android "single top" modalità di lancio e il metodo onNewIntent
- 3. metodo di estensione LINQ
- 4. estensione query LINQ per
- 5. LINQ e il metodo di estensione Count
- 6. Dov'è il metodo di estensione LINQ "Piegatura"?
- 7. logica di incapsulamento in una query da linq a sql tramite il metodo di estensione
- 8. LINQ to Entities non supporta il metodo di estensione?
- 9. Come selezionare la top 10 nella query di Access?
- 10. Selezionare top 1 risultato da subquery in LINQ to SQL
- 11. Perché il risultato SingleOrDefault TOP (2) in SQL?
- 12. Metodo di estensione medio in Linq per il valore predefinito
- 13. Ricerca metodo di estensione LINQ richiesta II
- 14. Come scrivere query linq per abbinare SQL come selezionare top 100 * dalla scheda?
- 15. Perché linq-2-sql crea oggetti aggiuntivi non necessari?
- 16. chiamare il metodo da query LINQ
- 17. Linq UNION query per selezionare due elementi
- 18. LINQ Selezionare Distinto ignorando il campo XML
- 19. LINQ Selezionare Prima
- 20. Chiamare un metodo all'interno di una query Linq
- 21. Selezionare solo una singola colonna in LINQ
- 22. selezionare le righe TOP N da una tabella
- 23. LINQ - NON selezionare determinati campi?
- 24. Metodo call class all'interno di Linq Query
- 25. LINQ Query per identificare i frammenti di una serie
- 26. Come selezionare ultimo record in una clausola di LINQ GroupBy
- 27. selezionare il conteggio (Id) in LINQ
- 28. Perché questo metodo di estensione genera una NullReferenceException in VB.NET?
- 29. Restituisce righe sbloccate in una query "select top n"
- 30. Riutilizzo di una query LINQ
'Single()' deve interrogare per la parte superiore 2; 'Primo()' * dovrebbe * solo interrogare per uno. Sei sicuro di non guardare una query 'Single'? – Gabe
@Gabe Hai ragione. Stavo guardando la query sbagliata .. che vergogna: (ma ancora .. mi piacerebbe sapere perché la query singola per una top 2? È perché ha bisogno di sapere se ha ottenuto più di un risultato? – Rushino
Sì, l'unico modo per sapere se c'è solo un singolo risultato è chiedere 2 e assicurarsi di ottenere solo 1. – Gabe