2011-09-28 3 views

Odpowiedz

7

Zrobiłem kilka testów jakiś czas temu i okazało się, że EF liczy na serwerze, wysyła zapytanie z SELECT COUNT, więc nie ładuje wszystkich rekordów na pewno.

o kolumnach, jeśli odnoszą się do różnicy między COUNT(*) lub COUNT(Id) lub COUNT(1) przeczytałem gdzieś jakiś czas temu, że SQL Server nie jest różnica, tym COUNT(*) jest zoptymalizowany jako COUNT(1) tak.

można przeczytać wiele artykułów online lub pytanie tutaj na SO ... nie excatly 100% co pytasz ale podobne tematy na występy EF i ORM ...

How to COUNT rows within EntityFramework without loading contents?

http://ayende.com/blog/4387/what-happens-behind-the-scenes-nhibernate-linq-to-sql-entity-framework-scenario-analysis

How to optimize Entity Framework Queries

+2

Uderzyłeś mnie do tego. Zamierzałem również dodać link do posta o występie hrabiego http://geekswithblogs.net/BlackRabbitCoder/archive/2011/06/02/c.net-little-wonders-empty-defaultifempty-and- count.aspx –

+0

Dobrze! ale jak to przetestowałeś? – Seva

+0

Włączony program SQL Profiler, a następnie utworzyć przykładowy program w .NET i EF i przechwycić wszystkie wywołania do bazy danych. Używasz MS SQL Server, prawda? –

Powiązane problemy