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

نام تاپیک: استفاده مجدد از کوری Entity Framework

  1. #1

    Question استفاده مجدد از کوری Entity Framework

    سلام دوستان عزیز عذر خواهی میکنم من این سوال رو قبلا در اینجــــآ مطرح کرده بودم اما به نتیجه نرسیدم پاسخ خوبی جناب qwbasic دادن اما در نحوه استفاده مشکل داشتم لطفا عزیزانی کمک کنند.

    من فیلد های جدول رو به این شکل توی گرید نمایش میدم :
    private void viewData()
    {
    Database dbs = new Database ();
    DGVbook.DataSource = from view in dbs.tblBook
    where view.ID_book==1
    select new
    {
    view.name,
    view.family,
    lif= (view.lif == 1) ? "نیست" :
    (view.lif== 2) ? "هست" :
    null,
    };
    }


    لیست آیتم هام خیلی هستند .

    حالا من میام روی جدول جستجو کنم و در همین گرید نمایش بدم...
    دوباره باید این همه کد رو برای یه سرچ ساده بنویسم (حدود 20 سرچ هم دارم)

    private void viewSearch1()
    {
    Database dbs = new Database ();
    DGVbook.DataSource = from view in dbs.tblBook
    where view.book=="شیمی"
    select new
    {
    view.name,
    view.family,
    lif= (view.lif == 1) ? "نیست" :
    (view.lif== 2) ? "هست" :
    null,
    };


    حالا من چطور میتونم وقتی این قسمت رو نوشتم دیگه نیاز به تایپ مابقی و آیتم ها نیست

    private void viewSearch1()
    {
    Database dbs = new Database ();
    DGVbook.DataSource = from view in dbs.tblBook
    where view.book=="شیمی"


    یعنی بشه از select new تابع اول viewData استفاده کنم؟

    اینم مثال خوب آقای qwbasic که نتونستم استفاده کنم :
    نقل قول نوشته شده توسط gwbasic مشاهده تاپیک

    from view in dbs.tblBook
    where view.book=="شیمی"
    select myAnonymousType(view)
    ...
    public object myAnonymousType(tblBook book)
    {
    return new
    {
    view.name,
    view.family
    };
    }



    با تشکر

  2. #2

    نقل قول: استفاده مجدد از کوری Entity Framework

    میتونی یک کلاس با پراپرتی های مناسب تعریف کنی و همچنین یک extension method

    public static class MyExtensionMethods
    {
    public class MyClass
    {
    string name, family, lif;

    public string Lif
    {
    get { return lif; }
    set { lif = value; }
    }

    public string Family
    {
    get { return family; }
    set { family = value; }
    }

    public string Name
    {
    get { return name; }
    set { name = value; }
    }
    }

    public static IEnumerable<MyClass> CustomSelect(this IEnumerable<tbl> source)
    {
    return (from s in source
    select new MyClass
    {
    Name = view.name,
    Family = view.family,
    Lif = (view.lif == 1) ? "نیست" :
    (view.lif == 2) ? "هست" :
    null
    }
    ).ToList();
    }
    }

    به اینصورت هم استفاده کن:

    private void viewSearch1()
    {
    Database dbs = new Database();
    DGVbook.DataSource = (from view in dbs.tblBook
    where view.book == "شیمی"
    select view
    ).CustomSelect();
    }

  3. #3

    نقل قول: استفاده مجدد از کوری Entity Framework

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

  4. #4

    نقل قول: استفاده مجدد از کوری Entity Framework

    توی اون تاپیک گفتی
    حالا من میام روی جدول جستجو کنم و در همین گرید نمایش بدم...
    دوباره باید این همه کد رو برای یه سرچ ساده بنویسم (حدود 20 سرچ هم دارم)
    یعنی چی 20 تا سرچ داری. میتونی دو سه تاش رو با هم بزاری برای آشنایی با شکل کوئری ها؟ و اینکه این سرچ ها به هم وابسته هستند یا نه جدا انجام میشن؟یه توضیح بده.

  5. #5

    نقل قول: استفاده مجدد از کوری Entity Framework

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    توی اون تاپیک گفتی

    یعنی چی 20 تا سرچ داری. میتونی دو سه تاش رو با هم بزاری برای آشنایی با شکل کوئری ها؟ و اینکه این سرچ ها به هم وابسته هستند یا نه جدا انجام میشن؟یه توضیح بده.
    سلام ببخشید بد توضیح داده بودم منظورم این بود که باید بیشتر از 20 کوری بگیرم که همه نیاز به select new داره که فیلد ها رو باید در DataGridView نمایش بده...

    این دقیقا پاسخ سوالم ولی متاسفانه یه خطای کوچیک داره.

    from view in dbs.tblBook
    where view.book=="شیمی"
    select myAnonymousType(view)
    ...
    public object myAnonymousType(tblBook book)
    {
    return new
    {
    view.name,
    view.family
    };
    }


  6. #6

    نقل قول: استفاده مجدد از کوری Entity Framework

    بالاخره باید یک کلاس برای اون قسمت new تعریف کنی چون با object به پراپرتی هاش دسترسی نداری.

    کد پست2 مشکلش چیه؟ یک متد توسعه ایجاد میکنی و هر جا خواستی ازش استفاده میکنی.

  7. #7

    نقل قول: استفاده مجدد از کوری Entity Framework

    سلام ببخشید میشه اینو تست کنید یه خطای کوچیک داره...
    فایل های ضمیمه فایل های ضمیمه

  8. #8

    نقل قول: استفاده مجدد از کوری Entity Framework

    موقع فراخوانی باید شئ رو ارسال کنی(یعنی i)


    این هم طبق متد توسعه
    http://uploadtak.com/images/x499_test.rar

  9. #9

    نقل قول: استفاده مجدد از کوری Entity Framework

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    موقع فراخوانی باید شئ رو ارسال کنی(یعنی i)


    این هم طبق متد توسعه
    http://uploadtak.com/images/x499_test.rar
    واقع بهتون تبریک میگم خوب با کلاس ها کار میکنید...
    خیلی گلید مشکلم حل شد.

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

  1. استفاده از ویو با Entity framework
    نوشته شده توسط csharpprogramer88 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: جمعه 04 مرداد 1392, 19:49 عصر
  2. پاسخ: 1
    آخرین پست: سه شنبه 13 فروردین 1392, 11:34 صبح
  3. سوال: ویرایش یک ردیف از دیتا گرید با استفاده از فرم و entity framework
    نوشته شده توسط GILAS_MVC در بخش C#‎‎
    پاسخ: 1
    آخرین پست: یک شنبه 16 مهر 1391, 15:16 عصر
  4. مشکل در استفاده از dgv با entity framework
    نوشته شده توسط amir3321 در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 11
    آخرین پست: یک شنبه 09 بهمن 1390, 08:34 صبح

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

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