PDA

View Full Version : سوال: چرا ما باید از linq در sql استفاده کنیم



nasime_shomal
جمعه 09 بهمن 1388, 15:41 عصر
سلام به همه دوستان. سوال من اینه که کار با دیتابیس به وسیله linq چه فرقی با استفاده نکردن از linq داره یا بهتر بگم چرا ما باید از linq در sql استفاده کنیم. دوستان لطف کنید اینو به زبان ساده توضیح بدید چون من تازه کارم. الانم دارم کتاب دیتل رو میخونم که توش فقط کار با linq رو توضیح داده.

sia_2007
جمعه 09 بهمن 1388, 17:21 عصر
ببینید ؛ روشهای متفاوتی برای کار با دیتا وجود دارد؛
منظور از دیتا XML ؛ SQL ؛ Object ؛ Data Set ؛ postGre Sql ؛ و هزاران دیتای دیگر با انواع و اقسام فرمت هاست.

خب شما به SQL فقط میتوانید با دستورات SQL مانند SELECT و INSERT و ... کار کنید.
اما چند نفر به خوبی روی این دستورات تسلط دارند ؟

شما با XML فقط با دستورات خودش میتوانید کار کنید؛ اما چند نفر به خوبی روی این دستورات تسلط دارند ؟

چند نفر تسلط دارند که به خوبی با postGre SQL کار کنند ؟
و ...

بنابراین یک زبان ساده و قابل فهم به وجود آمد تا آدم همان رو یاد بگیره و باهاش با هر دیتایی که LINQ Provider داره به راحتی کار کنه.
کار این LINQ Provider چیه ؟
اینه که دستور شما رو میگیره و به دستور قابل فهم برای اون بخش از دیتا تبدیل میکنه.
مثلا شاید شما اصلا ندونید ساختار سایت Twitter به چه صورت هست.
اما این سایت یک LINQ Provider داره؛ و شما با اون دستورات پایه میتونید با سایت Twitter کار کنید.

پس اولین مزیت LINQ اینه که کار با دیتاهای مختلف رو آسون میکنه.

دومین مزیتش اینه که به برنامه نویس قدرت تفکر بیشتر روی منطق برنامه و اشکالزدایی راحت تر رو میده.

اما عیبش چیه ؟ اینه که خیلی خیلی کم کندش میکنه ! خیلی کم

و حتی چون مثلا یه نفر که SQL اش خوب نیست ممکنه کوئری های افتضاحی رو بنویسه و بدتر از LINQ عمل کنه ؛ بهتره که از LINQ استفاده کنه.

من که به شخصه فقط در دستورات SQL ؛ Low Level کار میکنم و در جاهای دیگه چشم امیدم به LINQ هستش.

اما فارغ از بحثهای تکنیکی 2 تا مسئله مفهومی هست.
LINQ رو به 2 دلیل باید یاد گرفت.
1- این که تویه کار تیمی همه SQL رو مثلا به خوبی بلد نیستند و شما نمیتونید بر خلاف جریان آب شنا کنید.
2- بالاخره به یک دیتایی میرسید که نمیدونید چه جوری باید باهاش کار کنید؛ اما وقتی میبینید LINQ Provider داره؛ نفس راحتی میکشید.
موفق باشی

nasime_shomal
جمعه 09 بهمن 1388, 18:04 عصر
ازتون ممنونم چون به بهترین نحو ممکن به من جواب دادید.