PDA

View Full Version : انتخاب LINQ یا SQL برای کار با داده



sasan_22
چهارشنبه 12 مهر 1391, 01:29 صبح
سلام وخسته نباشید
من کمو بیش از مزایای این تکنولوژی آگاهم ولی سوالی ک برای من ایجاد شده اینکه :
1- کدام یک از دستورات (LINQ or SQL) سریعتر اجرا میشوند؟
2- چرا با وجود viewها و SPها باید از LINQ استفاده کرد؟
3- آیا استفاده از این تکنولوژی الزامی است؟(یعنی شما باشید کدومو انتخاب میکنید برای نوشتن برنامه)
4- آیا دوره نوشتن دستورات داده ای برنامه به زبان SQL (که با VIEWها و ...)کار میکردیم دیگه بسر رسیده؟
5- اینکه میگن منبع اده دیگه مهم نیست چی ؟ آیا واقعیت داره؟ یعنی من بانک مورد نظرمو از SQL به ORACEL ببرم هیچ تغییری در برنامم نباید بدم؟
و سوال آخر:
با وجود viewها - SPها و ... چرا باز مایکروسافت هر چند وقت یکبار یه تکنولوژی جدیدی ب بازار میده و باعث ایجاد تنوع میشه؟ آیا می خواد با این کار برنامه نویس گیج وسردرگم کنه؟ هنوز sql رو یاد نگرفته باید بره سراغ تکنولوژی جدید؟!!:اشتباه:

r. salehi
چهارشنبه 12 مهر 1391, 15:16 عصر
سلام
دوست عزیز Linq یک بانک اطلاعاتی نیست که بخواهیم ان را با SQL مقایسه کنیم بلکه یک زبان پرسو جوی متحد الشکله که برای واکشی داده از مجموعه ها جداول ارایه ها، دیتاگریدها و غیره به راحتی قابل استفاده است. تکنولوزی Linq to SQL هم راه نسبتا جدیدی برای اتصال به بانک SQL برای استفاده از داده های بانک اطلاعاتی درون برنامه است و حسنش هم اینه که جداول محتویات اونها را برخلاف گذشته مانند شی در اختیار برنامه نویس قرار میده. حالا Entity Faramwork هم تقریبا مانند Linq to Sql عمل می کنه و شاید پیشرفته تر. هیچ کدام از اینها نه مغایرتی با SQL دارند و نه َADO.Net
قبل از linq to sql هم وقتی شما یک دیتاست میساختین و از اون توی برنامه خودتون استفاده میکردید آنچنان براتون فرقی نمیکرد که بانک اصلی چی باشه.
در ضمن گاهی شرایط ایجاب می کنه که یک سری عملیاتها حتمی داخل بانک اصلی انجام بشه. معماری ارتباط نسبت به گذشته تغییری نکرده بلکه ساده تر و یکدست تر شده
در ضمن هیچ الزامی برای استفاده از Linq وجودنداره
به حرفی کی می زنم دقیقا مطمئن نیستم بلکه فقط بر اساس استنتاج خودم میگم و اون اینه که linq نمیتونه سریعتر از SQl عمل کنه چون linq خودش خروجی های sql را به عنوان ورودی دریافت می کنه
و یه نکته دیگه اینکه entity framwork و linq to sql در ادامه Ado.Net هستند نه منفک از اون