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

نام تاپیک: تبدیل کد از LINQ به ado.net

  1. #1
    کاربر تازه وارد آواتار behnam3000
    تاریخ عضویت
    مرداد 1394
    محل زندگی
    مشهد
    پست
    53

    تبدیل کد از LINQ به ado.net

    با سلام خدمت دوستان
    من یک کد جستجو دارم برای پارکینگ که با لینکیو نوشتم این پارکینگ تعداد رکورد هاش به میلون میرسه و حالا که تعداد رکورد ها زیاد شده برنامه هنگ میکنه با کمی جستجو متوجه شدم که در ado.net مشکل جستجو حل میشه میخواستم کد جستجو رو برام تبدیل کنید.
    اگه روش بهتری هم دارید کدش رو برام بزارید
     public void fillandsearch()
    {
    string start = TxtSearchDateVorodBig1.Text;
    string end = TxtSearchDateVorodShort1.Text;
    string startend = TxtSearchDateKhorojBig1.Text;
    string endend = TxtSearchDateKhorojShort1.Text;
    var query = from q in db.sabts
    select q;
    if (TxtSearchDateVorodBig1.Text.Length == 10 && TxtSearchDateVorodShort1.Text.Length == 10)
    {
    query = query.Where(s =>DC.shamsitomiladi(s.enterdate) >= DC.shamsitomiladi(start) && DC.shamsitomiladi(s.enterdate) <= DC.shamsitomiladi(end));

    }
    else
    {
    if (TxtSearchDateVorodBig1.Text.Length == 10)
    {
    query = query.Where(s => DC.shamsitomiladi(s.enterdate) == DC.shamsitomiladi(start));
    }
    }
    if (TxtSearchDateKhorojBig1.Text.Length == 10 && TxtSearchDateKhorojShort1.Text.Length == 10)
    {
    query = query.Where(s => DC.shamsitomiladi(s.enddate) >= DC.shamsitomiladi(startend) && DC.shamsitomiladi(s.enddate) <= DC.shamsitomiladi(endend));
    }
    else
    {
    if (TxtSearchDateKhorojBig1.Text.Length == 10)
    {
    query = query.Where(s => DC.shamsitomiladi(s.enddate) == DC.shamsitomiladi(startend));
    }
    }
    if (TxtSearchSerialghebz.Text != string.Empty)
    {
    query = query.Where(s => s.serial.Contains(TxtSearchSerialghebz.Text));
    }
    if (TxtSearchNoyeMotor.Text != string.Empty)
    {
    query = query.Where(s => s.noemotor.Contains(TxtSearchNoyeMotor.Text));
    }
    if (TxtSearchRangMotor.Text != string.Empty)
    {
    query = query.Where(s => s.rangmotor.Contains(TxtSearchRangMotor.Text));
    }
    if (TxtSearchShomareTane.Text != string.Empty)
    {
    query = query.Where(s => s.shomaretane.Contains(TxtSearchShomareTane.Text)) ;
    }
    if (TxtSearchShomareMotor.Text != string.Empty)
    {
    query = query.Where(s => s.shomaremotor.Contains(TxtSearchShomareMotor.Text ));
    }
    if (TxtSearchShomarePlak.Text != string.Empty)
    {
    query = query.Where(s => s.shomarepelak.Contains(TxtSearchShomarePlak.Text) );
    }
    if (TxtSearchYeghanToghef.Text != string.Empty)
    {
    query = query.Where(s => s.yegan.Contains(TxtSearchYeghanToghef.Text));
    }
    if (TxtSearchTerkhes.Text != string.Empty)
    {
    query = query.Where(s => s.tarkhis.Contains(TxtSearchTerkhes.Text));
    }
    if (TxtSearchKerayeHaml.Text != string.Empty)
    {
    query = query.Where(s => s.keraye.Contains(TxtSearchKerayeHaml.Text));

    }
    }

    در این کد هر جستجو بر اساس جستجو و بصورت آنی جستجو میکنه
    تمامی فیلد ها در دیتا بیس بصورت nvarchar هست

  2. #2
    کاربر دائمی آواتار CsharpNevisi
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    تهران
    پست
    1,489

    نقل قول: تبدیل کد از linQ به ado.net

    این که T-SQL این لاین بنویسی یا لینکیو هیچ تفاوتی به حال تو نمیکنه .. تو باید T-SQL بنویسی ولی تو SP ..

    لینکیو ران تایم SP میسازه و هر SP که لینک میسازه چون تازه تو هر اجرا به وجود میاد براش اگزکیوشن پلن درست میشه و این یه مقدار تاخیر میندازه ...

    ولی وقتی SP بسازی و هر بار خواستی کالش کنی بار اول تاخیر داره ولی بار دوم به بعد چون پلنش درست شده اون تاخیرو نداره .. در نتیجه بهبود سرعت رو داری ولی باز سرعتت افزایش چشم گیر نداره

    رو جداولت ایندکس بزار .. سعی کن SP بهینه بنویسی .. با Execution Plan بررسی کن دستورتو تا ببینی گیرش کجاس .. با SQL-Profiler هم یه چکی بکن .. لازم بود View بساز لازم شد Trigger بساز .. !!!

    اگه باز بازده خوبی نداشتی یه دیتاور هوس درست کن که نان ترنس اکشنال باشه .. :D

    تا مشکلت برطرف شه .. !! :))))

  3. #3
    کاربر تازه وارد آواتار behnam3000
    تاریخ عضویت
    مرداد 1394
    محل زندگی
    مشهد
    پست
    53

    نقل قول: تبدیل کد از linQ به ado.net

    نقل قول نوشته شده توسط CsharpNevisi مشاهده تاپیک
    این که T-SQL این لاین بنویسی یا لینکیو هیچ تفاوتی به حال تو نمیکنه .. تو باید T-SQL بنویسی ولی تو SP ..

    لینکیو ران تایم SP میسازه و هر SP که لینک میسازه چون تازه تو هر اجرا به وجود میاد براش اگزکیوشن پلن درست میشه و این یه مقدار تاخیر میندازه ...

    ولی وقتی SP بسازی و هر بار خواستی کالش کنی بار اول تاخیر داره ولی بار دوم به بعد چون پلنش درست شده اون تاخیرو نداره .. در نتیجه بهبود سرعت رو داری ولی باز سرعتت افزایش چشم گیر نداره

    رو جداولت ایندکس بزار .. سعی کن SP بهینه بنویسی .. با Execution Plan بررسی کن دستورتو تا ببینی گیرش کجاس .. با SQL-Profiler هم یه چکی بکن .. لازم بود View بساز لازم شد Trigger بساز .. !!!

    اگه باز بازده خوبی نداشتی یه دیتاور هوس درست کن که نان ترنس اکشنال باشه .. :D

    تا مشکلت برطرف شه .. !! :))))
    اینایی که گفتی چی هست دوبله بگو لطفا

  4. #4
    کاربر دائمی آواتار CsharpNevisi
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    تهران
    پست
    1,489

    نقل قول: تبدیل کد از linQ به ado.net

    ایندکس گذاری رو جداول رو برو دنبالش .. اول .. :|

    مثلا تو میخوایی ایدی 950 رو توی 1000 رگورد پیدا کنی .. !!!

    منطقیه دونه دونه 1000 تا رو بگردی تا اینو پیدا کنی ؟؟؟؟؟

    نه .. منطقی نیست .. میایی ایندکس میزازی رو ای.دی .. خود اس.کیو.ال میاد اینا رو ترتیب تو هارد ذخیره میکنه .. بعد موقع سرچ به جای 1000 تا حرکت با 5 , 6 تا حرکت پیداش میکنه و برمیگردونه .. :D

    این مثال برای ای.دی بود .. ولی تو باید رو هر چیزی که درگیر ورکلاست ایندکس بزاری ..

    به همین راحتی

  5. #5

    نقل قول: تبدیل کد از linQ به ado.net

    داداش این هم کد سورس با ADO
    http://s7.picofile.com/file/82352309...r_Date.7z.html
    میاد تاریخ ورودی با خروجی رو بررسی میکنه مقدار رو نمایش میده

  6. #6
    کاربر تازه وارد آواتار behnam3000
    تاریخ عضویت
    مرداد 1394
    محل زندگی
    مشهد
    پست
    53

    نقل قول: تبدیل کد از linQ به ado.net

    نقل قول نوشته شده توسط davidrobert مشاهده تاپیک
    داداش این هم کد سورس با ADO
    http://s7.picofile.com/file/82352309...r_Date.7z.html
    میاد تاریخ ورودی با خروجی رو بررسی میکنه مقدار رو نمایش میده
    سلام مرسی دیوید جان زحمت دادم بهت کدت عالی بود فقط من به ado کد بالا نیاز دارم

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

  1. سوال: تبدیل قطعه کد از ++c به vb.net
    نوشته شده توسط mehran5 در بخش VB.NET
    پاسخ: 5
    آخرین پست: پنج شنبه 17 دی 1388, 11:14 صبح
  2. سوال: تبدیل تکنولوپی از asp به asp.net
    نوشته شده توسط farrokhpey.mahdi در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: پنج شنبه 24 بهمن 1387, 09:32 صبح
  3. سوال: تبدیل پروژه از #c به v.net
    نوشته شده توسط mehran5 در بخش VB.NET
    پاسخ: 4
    آخرین پست: دوشنبه 23 دی 1387, 20:04 عصر
  4. تبدیل کد از C#‎به c
    نوشته شده توسط hhoura2006 در بخش C#‎‎
    پاسخ: 5
    آخرین پست: جمعه 08 دی 1385, 23:59 عصر
  5. تبدیل کد از VB2005 به VB6
    نوشته شده توسط (سیدشریفی) در بخش برنامه نویسی در 6 VB
    پاسخ: 6
    آخرین پست: سه شنبه 12 مهر 1384, 18:40 عصر

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

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