Naopak, u jakékoliv složitější aplikace Entity Frameworku začne docházet dech a bude generovat tak složité dotazy, že je nutné detailně znát SQL a vědět, kde napsat view, kde použít stored proceduru, aby aplikace fungovala. Entity Framework a ostatní ORM jsou velmi dobrá věc a v 90% případů fungují. V každé větší aplikaci ale mám několik míst, kde prostě musím v SQL napsat stored proceduru nebo pohled, z výkonnostních důvodů. A nejedná se o nějaký zapomenutý Include, ale prostě o situaci, kdy máte dotaz s 20 joiny a potřebujete jej zavolat co nejefektivněji. Takže kdybych to shrnul - u malých aplikací SQL asi znát nemusíte a stačí vše udělat přes LINQ. Na druhou stranu SQL není složité a jeho dobrá znalost SQL rozhodně neuškodí ani u menších projektů. U větších projektů pak lidé, kteří znají jen LINQ, a ne SQL, napáchají spoustu škod.
|