PDA

View Full Version : گفتگو: LINQ Vs Stored Procedure



Sundown
دوشنبه 22 آذر 1389, 02:06 صبح
از بین LINQ و روال های ذخیره شده کدام یک را برای استفاده در برنامه های کاربردی تحت ویندوز ترجیح میدهید.
مثلا برای ثبت یک رکورد در پایگاه داده کدام یک بهتر است؟ یا برای اجرای گرفتن پرس و جوهای پیشرفته و پیچیده منظورم از هر لحاظ هست

برای مثال گفته می شود که برای تبدیل یک دستور Linq 2 Sql حدود 2.7 ملیون فراخوانی صورت میگیره و از جهتی هم گفته میشه با این حال از نظر سرعت تفاوت فاحشی با هم ندارند

گفته میشه linq بیشتر قابل فهم و قابل دیباگ کردن است حال آنکه دیباگ کد های روال های ذخیره شده مشکل تر است

ظاهرا linq توی شبکه سرعت رو پایین میاره به دلیل اینکه کل دستورات sql تولید شده به پایگاه ارسال می شوند در حالی که روال های ذخیره شده فقط نام روال و مقادیر ورودی به پایگاه ارسال میشه

و ...
نظر شما چیست؟
----------------------------------------------------------------
درد من تنهايي نيست؛
بلكه مرگ ملتي است كه گدايي را قناعت؛
بي عرضگي را صبر و
با تبسمي بر لب...
اين حماقت را حكمت خداوند مي نامند. (گاندی)

hamidreza20
پنج شنبه 02 دی 1389, 10:05 صبح
با سلام دوست عزیز

طبق گفته مایکروسافت در پروژه های کوچک و متوسط از linq استفاده شود بهتر است (به دلیل توسعه آسانتر )
ولی در پروژهای بزرگ بهتر است از همان برنامه نویسی لایه ای استفاده شود .
البته Linq To Entity FrameWork تمام محدودیت های موجود در لینک را از برطرف کرده از جمله ارتباط های چند به چند و پشتیبانی از تمام دیتا بیس هایی که در ado.net استفاده می شود .

به هر حال اگر از برنامه نویسی لایه ای نیز استفاده می کنید بهتر است از ADO.Net 2 استفاده کنید . در ADO.Net 2 موجودی به نام DataTableAdapter اضافه شده که کار را راحت و سریع کرده است.
التماس دعا...