ورود

View Full Version : تفاوت Linq To Sql با Linq To Entities و Linq To DataSet



Mostafa_Dindar
جمعه 10 اردیبهشت 1389, 15:51 عصر
سلام ،

فكر ميكنم عنوان تاپيك مشخص كننده سوال باشه ، لطفا كمي در مورد Linq to Entities and Linq To DataSet توضيح بديد .

مرسي .

majid325
دوشنبه 13 اردیبهشت 1389, 00:31 صبح
شما سوالتون رو خیلی کلی عنوان کردین، که در حد یک چند تا کتاب باید توضیح داد.
لطفا در مورد linq و چیست و چرای به وجود آمدنش تحقیق کنید تا با linq آشنا بشین و جواب تمام سوالهاتون رو میگیرین.

لینک در واقع برای بوجود آمدن یک سینتکس مشترک برای کار با مجموعه های گوناگون هست ، حالا میخواد این مجموعه ها شامل رکوردهای بانک اطلاعاتی باشه یا اشیا روی فرم یا صفحات یک سایت ، به شرطی که Provider اون مجموعه نوشته شده باشه و در اختیار شمای برنامه نویس قرار گرفته باشه ، حالا وقتی میگین Linq to x یعنی دارین میگین که میخواین از Provider ی که جهت استفاده از سینتکس linq در مجموعه x تهییه شده استفاده کنین، شما میتونین برای هر نوعی یک Provider بسازین
باتوجه به توضیح بالا برای استفاده از Linq to x نیاز هست که x رو بلد باشین و از linq Provider اون که سینتکس مشترک داره استفاده کنین.


خواهشا دوستان خودشون پستهای نامرتبط رو حذف کنن

Mostafa_Dindar
دوشنبه 13 اردیبهشت 1389, 11:14 صبح
شما سوالتون رو خیلی کلی عنوان کردین، که در حد یک چند تا کتاب باید توضیح داد.
لطفا در مورد linq و چیست و چرای به وجود آمدنش تحقیق کنید تا با linq آشنا بشین و جواب تمام سوالهاتون رو میگیرین.

لینک در واقع برای بوجود آمدن یک سینتکس مشترک برای کار با مجموعه های گوناگون هست ، حالا میخواد این مجموعه ها شامل رکوردهای بانک اطلاعاتی باشه یا اشیا روی فرم یا صفحات یک سایت ، به شرطی که Provider اون مجموعه نوشته شده باشه و در اختیار شمای برنامه نویس قرار گرفته باشه ، حالا وقتی میگین Linq to x یعنی دارین میگین که میخواین از Provider ی که جهت استفاده از سینتکس linq در مجموعه x تهییه شده استفاده کنین، شما میتونین برای هر نوعی یک Provider بسازین
باتوجه به توضیح بالا برای استفاده از Linq to x نیاز هست که x رو بلد باشین و از linq Provider اون که سینتکس مشترک داره استفاده کنین.


خواهشا دوستان خودشون پستهای نامرتبط رو حذف کنن


سلام،

به به ! آقاي مدير خيلي خوبه شما رو اينجا ملاقات ميكنيم ، باعث خوشحاليه .

دوست عزيز ، من با LINQ يك آشنايي كلي دارم ، يعني با linq to Object , Linq To Sql كار كردم ،


همچنين با مفاهيم Lambada Expression و همچنين Extention Method ها و ... آشنا هستم ،

اصولا چرا نيازي به LINQ To Entities هست كه اون بوجود اومده ، يعني چه نيازي رو LINQ To Sql براورده نميكرده كه اون بوجود اومده ، مثلا يك دليل كه من ميدونم LINQ to SQl تنها از ديتابيس اس كيو ال پشتيباني ميكنه در حالي كه LINQ To Entities از همه ديتابيس هاي رابطه اي پشتيباني ميكنه .

مكانيزم كار Linq To Entities چطوريه ؟

يا چرا LINQ To DataSet بوجود اومده ، ( اگه يك مثال از سينتكس اون بزنيد كه ديگه خيلي لطف كرديد ) .

در ADO من هيچگاه از DataSet به خاطر عدم Performance استفاده نكردم ، و همشه دادهها رو توسط DataReader به آبجكتها نگاشت ميكردم و با آبجكتها يا Collection اي از آبجكتها كار ميكردم ،

الان هم من درك نيمكنم كه چرا Linq To DataSet وجود دارد .

majid325
سه شنبه 14 اردیبهشت 1389, 01:57 صبح
توجه داشته باشید که شباهت اسم گزاری ربطی به عملکرد نداره.
Linq To Sql سمت و سوی یک orm هست ولی linq to entities یک provider برای linq به entites هست.

مكانيزم كار Linq To Entities چطوريه ؟
شما برای درک بهتر برید دنبال نوشتن یک provider برای linq تا با مکانیزم linq آشنا بشین (کار خیلی پیچیده ای نیست)

يا چرا LINQ To DataSet بوجود اومده ، ( اگه يك مثال از سينتكس اون بزنيد كه ديگه خيلي لطف كرديد ) .

برای راحتی من و شما (لینک یک زبان مشترک برای کار بین انواع کالکشن ها هست) .مثال (http://en.csharp-online.net/Introducing_LINQ%E2%80%94Using_LINQ_to_DataSet_wit h_a_Typed_Dataset)


در ADO من هيچگاه از DataSet به خاطر عدم Performance استفاده نكردم ، و همشه دادهها رو توسط DataReader به آبجكتها نگاشت ميكردم و با آبجكتها يا Collection اي از آبجكتها كار ميكردم ،

وقتی تو یه شبکه کاربرها تقاضاهای زیادی از سرور داشته باشن بحث Cashing به وجود میاد که تو dataset کمی رعایت شده (البته TdataSet) و تو linq to sql توجه بیشتری شده و تو Entitiy fromwork به کلی رعایت شده و البته داستان به cashing ختم نمیشه ایجاد یک datatContex از دلایل دیگه ی به وجود آمدنdataset هست و غیره...

الان هم من درك نيمكنم كه چرا Linq To DataSet وجود دارد .
عزیز دل من ، الان دیگه واسه همه چیز یک Provider برای linq هست چه برسه این dataset مادر مرده:
linq to twitter (http://linqtotwitter.codeplex.com/)
linq-to-nhibernate (http://afsharm.blogspot.com/2010/03/experience-linq-to-nhibernate.html)
linq to sharepoint (http://linq to sharepoint.codeplex.com/)
و هرار و شصت و شیش تای دیگه...