Entity Framework vagy tárolt eljárás?

Mindkettő! Ha egyszerű dolgokra használjuk az EF-öt, akkor nincs azzal semmi baj. De ha már beteszünk egy pár joint, listát teszünk a where-be, vagy több lekérdezést fűzünk egybe, akkor már érdemes a tárolt eljáráson gondolkozni.

Az EF-től jövő parancsot is ki tudja optimizálni az SQL, használ indexeket, menti az execution plant, szóval ilyen szempontból minden rendben van vele.

A gond az EF-kel van, ami ugye ebből ad-hoc SQL kódot generál, és az nem ritkán annyira ronda, hogy nem is akarunk tudni róla. A szépség egy fogalom, de itt úgy értem a rondát, hogy messze nem optimális, ezért lassú lehet és a szervert is jobban megizzaszthatja, mint kellene.

Hogy hol a határ, arra megint csak nincs egy konkrét szám, vagy adat. Mindenki a saját kódját nézegesse, az EF által kiadott SQL parancsokat, és ahol úgy érzi, hogy ennél ő jobban meg tudná oldani, ott invesztáljon be pár tárolt eljárásba.