نمایش نتایج 1 تا 4 از 4

نام تاپیک: فرق Enumerable و Iqueryable وTolIst() ,

  1. #1

    فرق Enumerable و Iqueryable وTolIst() ,

    سلام
    فرق IEnumerable و Iqueryable وTolIst() , AsEnumerable
    چیست؟

  2. #2
    کاربر دائمی آواتار forestasphalt
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    تهران
    سن
    37
    پست
    468

    نقل قول: فرق Enumerable و Iqueryable وTolIst() ,

    Iqueryable اینترفیس IEnumerableتوسعه داده بنابراین شما هرکاری رو که با IEnumerable میتونی انجام بدی با Iqueryable هم میتونی انجام بدی
    توی IEnumerable فقط میتونی به سمت جلو حرکت کنی به همین خاطر برای موقعیتی هایی مناسب هست که collection یا کلکسیون ها در حافظه قرار داشته باشن
    که مقصود شمردن اون ها باشه که استفاده رایج اون در foreach هست.
    Iqueryable برای کار با دیتابیس مناسب تر هست مخصوصا زمانی که از کوئری های با تاخیر (deferred execution کوئری هایی که در همون لحظه اجرا نمیشن)استفاده میکنید
    http://www.dotnettips.info/post/473/...%A8%D8%A7-orms
    همونطوری که در لینک بالا آقای نصیری توضیح دادن IEnumerable یک مجموعه است ولی Iqueryable فقط یک کوئری هست که باید بعدها مثلا با دستور tolist() اجرا بشه
    AsEnumerable متد جنریکی که به ما اجازه میده cast مخصوص خودمون رو از IEnumerable داشته باشیم(در واقع یک مجموعه رو به یک مجموعه از نوع IEnumerable<tsource> تبدیل میکنه)
    مثال رو از سایت زیر میتونی ببینی
    http://www.dotnetperls.com/asenumerable
    Tolist() یک مجموعه از نوع IEnumerable<tsource> به یک مجموعه از نوع list<t> تبدیل میکنه (منظور از t ،type میباشد)
    http://www.dotnetperls.com/tolist
    برای مطالعه بیشتر آموزش جامع linq علی اقدم رجوع شود

  3. #3

    نقل قول: فرق Enumerable و Iqueryable وTolIst() ,

    میخوام توجه شما را به این لینک جلب کنم:
    http://jonkruger.com/blog/2007/10/19...o-sql-queries/
    علت تفاوت مورد 1 با 2و3 در چیست؟
    چرا 1 با دو تای دیگه فرق می کنه؟
    ممنون میشم نظرتون را بگویید

  4. #4
    کاربر دائمی آواتار forestasphalt
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    تهران
    سن
    37
    پست
    468

    نقل قول: فرق Enumerable و Iqueryable وTolIst() ,

    تفاوت در اینجا هست که IEnumerable یک مجموعه است یعنی همون موقع هر کاری باهاش کردیم تموم شده دیگه قابلیت این رو ندارم بعدا بیام بازم یک سری تغییرات رو بهش بدیم

    NorthwindDataContext dc = new NorthwindDataContext();
    IEnumerable list = dc.Products
    .Where(p => p.ProductName.StartsWith("A"));
    list = list.Take(10);
    Debug.WriteLine(list.Count());

    درمثال یک همونطوری که میبینی ما مجموعه رو بستیم بدون اینکه take کرده باشیم
    ولی در مثال 2

    NorthwindDataContext dc = new NorthwindDataContext();
    IEnumerable list2 = dc.Products
    .Where(p => p.ProductName.StartsWith("A"))
    .Take(10);
    Debug.WriteLine(list2.Count());

    همونطوری که میبینی ما عملیات take رو انجام دادم
    در مثال 3 که Iqueryable هست ما میتونیم بعدا یک سری تغییرات رو در کوئری بدیدم و هر چند بار که خواستیم مقادیر اون کوئری رو تغییر بدیم(کافی امتحان کنید یک فیلد از کوئری که از نوعIqueryable هست رو تغییر بدید مجددا نتیجه چاپ کنید میبینید که این مقدار تغییر کرده در حالی این امر در مورد IEnumerable صادق نیست )

    NorthwindDataContext dc = new NorthwindDataContext();
    IQueryable list3 = dc.Products
    .Where(p => p.ProductName.StartsWith("A"));
    list3 = list3.Take(10);
    Debug.WriteLine(list3.Count());

    اجرای کوئری های با تاخیر ویژگی خیلی خوبیه که در موردش در سایت یا اینترنت جستجو کنی مطالب خوبی ازش پیدا میکنی

تاپیک های مشابه

  1. فرق بین C++‎ builder ,visual C++‎ در چیست
    نوشته شده توسط saeed-niknami در بخش برنامه نویسی با Borland C++‎ Builder
    پاسخ: 33
    آخرین پست: شنبه 24 بهمن 1383, 20:06 عصر
  2. فرق بین سی ++ بولند و سی++ مایکروسافت(خیلی مهم)(کامپایلر ها)
    نوشته شده توسط saeed-niknami در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: یک شنبه 23 آذر 1382, 15:05 عصر
  3. فرق بین stdcall,safecal,register
    نوشته شده توسط در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: پنج شنبه 29 آبان 1382, 23:56 عصر
  4. فرق گذاشتن بین حروف کوچک و بزرگ
    نوشته شده توسط saeed_d در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: سه شنبه 13 آبان 1382, 19:21 عصر
  5. فرق بین کد نویسی Aspx و Aspx.vb
    نوشته شده توسط zehs_sha در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: سه شنبه 11 شهریور 1382, 18:40 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •