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

نام تاپیک: ساخت group by داینامیک با linq

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر دائمی آواتار sempay_ninjutsu
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    تهران
    سن
    35
    پست
    313

    ساخت group by داینامیک با linq

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


    var param = new string[1] {"Fname"};

    item.GroupBy(param).select(param, "count(lname),sum(amount)");


  2. #2
    کاربر دائمی آواتار sempay_ninjutsu
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    تهران
    سن
    35
    پست
    313

    نقل قول: ساخت گروپ بای داینامیک با linq

    دوستان کسی میتونه اینو تبدیل به یک expression بکنه

    value(System.Data.Entity.Core.Objects.ObjectQuery` 1[test_groupby.Customer]).
    MergeAs(AppendOnly).GroupBy(t => new <>f__AnonymousType0`2
    (Fname = t.Fname, Lname = t.Lname),
    (key, group) =>
    new <>f__AnonymousType1`3(Key = key.Fname, Count = group.Count(x => x.Active), Sum = group.Sum(t => Convert(t.IntroducerType))))

  3. #3
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: ساخت گروپ بای داینامیک با linq

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


    var param = new string[1] {"Fname"};

    item.GroupBy(param).select(param, "count(lname),sum(amount)");

    سلام
    اگه LinQ رو خوب یاد بگیری، کار ساده‌ای هست.
    شما باید IQueryable درست کنی، و بسته به نیازت اون رو گسترش بدی. اما تو LinQ باید String رو فراموش کنی.
    اصولاً LinQ اومده که از string استفاده نکنی.
    من خودم بدون استفاده از string همه جور Query پویا می‌گیرم تو برنامه‌هام.
    یه مثال:

    var queryable = entities.Customers.Where( x=> x.Name == "MyCustomerName" );
    if ( condition1 )
    queryable = queryable.GroupJoin( entities.Invoices, p=>p.Id, i=>i.CustomerId,
    ( p, i ) => new { Person = p, InvoiceCount = i.Count(), TotalPurchase = i.Sum( x=> x.Amount ) );


    با کمی خلاقیت همه جور Query می‌تونی تو LinQ بگیری.



    صبا صبوحی

  4. #4
    کاربر دائمی آواتار sempay_ninjutsu
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    تهران
    سن
    35
    پست
    313

    نقل قول: ساخت گروپ بای داینامیک با linq

    نقل قول نوشته شده توسط SabaSabouhi مشاهده تاپیک
    سلام
    اگه LinQ رو خوب یاد بگیری، کار ساده‌ای هست.
    شما باید IQueryable درست کنی، و بسته به نیازت اون رو گسترش بدی. اما تو LinQ باید String رو فراموش کنی.
    اصولاً LinQ اومده که از string استفاده نکنی.
    من خودم بدون استفاده از string همه جور Query پویا می‌گیرم تو برنامه‌هام.
    یه مثال:

    var queryable = entities.Customers.Where( x=> x.Name == "MyCustomerName" );
    if ( condition1 )
    queryable = queryable.GroupJoin( entities.Invoices, p=>p.Id, i=>i.CustomerId,
    ( p, i ) => new { Person = p, InvoiceCount = i.Count(), TotalPurchase = i.Sum( x=> x.Amount ) );


    با کمی خلاقیت همه جور Query می‌تونی تو LinQ بگیری.



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

  5. #5
    کاربر دائمی آواتار sempay_ninjutsu
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    تهران
    سن
    35
    پست
    313

    نقل قول: ساخت group by داینامیک با linq

    از آخرین ورژن system.linq.dynamic و بصورت زیر از آن استفاده کنید.

    string[] fields = { "FName", "LName" };
    string aggrigatefield = "new(Sum(َAmount) as Value1,Key as Key)";
    string field = string.Format("new({0})", string.Join(",", fields));
    // string select = string.Format("new({0})", string.Join(",", aggrigatefield));
    var res = context.Personeli.ToList().GroupBy(field, "it")
    .Select(aggrigatefield).Cast<object>().ToList();
    آخرین ویرایش به وسیله Mahmoud.Afrad : یک شنبه 20 اردیبهشت 1394 در 08:54 صبح

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

  1. کمک برای ساخت گالری عکس داینامیک
    نوشته شده توسط sashadianati در بخش PHP
    پاسخ: 5
    آخرین پست: دوشنبه 16 آبان 1390, 20:06 عصر
  2. سوال: جوملا - ساخت یک صفحه داینامیک
    نوشته شده توسط Software.Student2010 در بخش توسعه وب (Web Development)
    پاسخ: 0
    آخرین پست: دوشنبه 09 خرداد 1390, 12:40 عصر
  3. چگونگی ساخت یک منوی داینامیک و کشویی
    نوشته شده توسط balis_pascal در بخش طراحی وب (Web Design)
    پاسخ: 7
    آخرین پست: پنج شنبه 05 خرداد 1390, 14:03 عصر
  4. انتخاب ستونها بصورت داینامیک در LINQ
    نوشته شده توسط mpmsoft در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 4
    آخرین پست: شنبه 17 اردیبهشت 1390, 10:22 صبح
  5. مبتدی: ساخت یک صفحه داینامیک
    نوشته شده توسط e_E2008 در بخش PHP
    پاسخ: 8
    آخرین پست: شنبه 23 مرداد 1389, 14:19 عصر

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

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