تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 2 از 2

نام تاپيک: جمع کردن نتیجه دو دستور Where روی یک جدول ؟

  1. #1
    اگه نباشه جاش خالی می مونه ali_i3's Avatar
    تاريخ عضويت
    Mar 2013
    پست ها
    252

    14 جمع کردن نتیجه دو دستور Where روی یک جدول ؟

    درود,
    توضیح کلی مشکل :
    {

    بنده میخوام بخش نظرات فروشگاهی رو که دارم طراحی میکنم بصورت پیجر ای جکسی دربیارم .
    من بخش نظرات رو کاملا طراحی کرده بودم و همه قابلیت هاش(امکان ثبت نظر روی نظر) بدرسی هم کار میکنه ولی متاسفانه با استفاده از پیجر یکسری مشکلات و تغییرات برام بوجود اومده که نتونستم حلشون کنم و امیدوارم دوستان گرامی بتونن بنده رو یاری بدن .


    میخوام بخش نظرات رو بصورت ایجکس پیجر نشون بدم به طوری که در هر صفحه 10 نظر نمایش یابد .
    نکته مهمش اینه که بنده بخش نظرات رو طوری طراحی کردم که امکان نظر روی نظر تا 6 لایه وجود داره -
    پس من باید علاوه بر 10 مورد از نظرات , تمام زیر نظرات مرتبط(یعنی نظراتی که روی این نظرات ثبت شده) رو هم نشون بدم و تو این قسمت کار مشکل دارم .

    }

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------

    دستورات خودم :



    Bl_Comments یک ریپوزیتوری هست که بصورت دستی نوشته شده و دستوراتی مثل Add -Delete- Update , ... رو انجام میده .
    دستور Where هم یک شرط رو روی جدول جستجو میکنه و نتیجه رو برمیگردونه .
    Select همه سطر های جدول رو بر میگردونه .
    Pid : آی دی محصول موردنظر

    Vm_MyProduct : ویو مودلی هست که نتیجه به دست آمده برای نظرات رو در Vm_MyProduct.Comments آن قرار میگیرد.

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------

    موردی که از دوستان میخوام راهنمایی کنند :
    {

    میخوام دوتا دستور Where روی یک جدول انجام بدم و نتیجه به دست آمده از هر دو دستور رو باهم جمع بزنم
    (یعنی اگه نتیجه دستور اول دو سطر اطلاعات شد و دستور دوم هم پنج سط اطلاعات , در نتیجه نهایی همه با هم جمع بشن و بشه 7 سطر)

    توضیح :
    1 - میخوام در وحله اول 10 سطر از جدول نظرات را برگرداند
    2 - و بعد هم دوباره یک جستجو روی جدول نظرات انجام شود وتمام سطر هایی که Parent_id آنها برابر Id یکی از این 10 سطر که در دستور اول برگرداندیم بود را برگرداند
    ---- : و نتیجه کلی دو مورد بالا با هم جمع شود .

    }

    Last edited by ali_i3; 26-06-2017 at 10:09.

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    اگر میتوانید شرط را در همان Where با اپراتور || ادقام کنید، میتوانید از کلیدهای خارجی هم در شرط استفاده کنید، خود EF آنها را تبدیل به Join+Where میکند...
    یعنی:
    ...A.Where(r => r.Product_Id = Pid || r.X == 123 || r.ParentRow.Y > 456 || r.ChildsRow.Any())...

    این بازدهی خوبی دارد، تمام تلاش تان را کنید این تیپی انجامش دهید.
    در قدم آخر و راه حل نهایی که زیاد هم جالب نیست، میتوانید از Union استفاده کنید:
    var x = A.XXX.Where(r => r.....).YYY.Join(...).ZZZ;
    var y = A.XXX.Where(r => r.....).YYY.Join(...).ZZZ;
    .
    var z = x.Union(y); //ریختن هردو نتیجه روی هم فقط به شرطی که فرمت/نوع خروجی ها یکی باشد

    موفق باشید.

  3. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •