2009-06-28 17 views
9

Czy to ma znaczenie, jeśli używasz "I" lub "AndAlso" w zapytaniach linq w vb.net? Wiem, że w normalnych operacjach "AndAlso" jest zwarciem, więc często będzie szybciej, ale nie wiem, czy to przenosi się na zapytania linq. Czy ma znaczenie, czy kwerenda linq jest przeciwko bazie danych, czy przeciwko kolekcji w pamięci?Czy "And" kontra "AndAlso" ma znaczenie z linq w vb.net?

Odpowiedz

14

Dla zapytań LINQ do obiektów, to na pewno ma znaczenie. W przypadku innych dostawców LINQ zależy to od samego dostawcy. Na poziomie drzewa wyrażeń są one różne: są różne, ale dostawca może je przetłumaczyć/uruchomić w taki sam sposób. Na przykład nie ma równoważnego pojęcia w SQL, więc LINQ to SQL tłumaczy je na identyczne SQL.

1

Niezależnie od tego, czy używać, czy przeciw, i jest również bardzo zależne od kontekstu użycia. Jednak prawie zawsze lepiej jest używać AndAlso ponad I.

Jakość zwarcia w AndAlso przeniesie do zapytań LINQ

Powiązane problemy