Pracuję z Entity Framework 4.1 i C#.Porównywanie wydajności generowanych zapytań dla Any() kontra Count() w Entity Framework 4.1
Który z nich najlepiej nadaje się do najlepszych osiągów?
Jeśli tak, dlaczego? (wszelkie linki do dodatkowych odczytów)?
bool isBoarding = invoice.Allocations.Where(a => a.Service.Key == "boarding").Count() > 0;
LUB
bool isBoarding = invoice.Allocations.Any(a => a.Service.Key == "boarding");
'Any' jest bardziej czytelna i jest zwykle bardziej efektywne, ponieważ może używać' EXISTS'. Ale w Linq-To-Entities powinieneś spojrzeć na wygenerowany sql. [Czasami] (http://stackoverflow.com/a/11042691/284240) 'Count' wydaje się być szybszy. Dla Linq-To-Objects [always] (http://stackoverflow.com/a/305156/284240) użyj 'Any'. –
Dzięki za przydatne linki. – Sampath