query

ahmad saeideh
25 آذر ۱۴۰۰
سلام هر کوئری ایی که بشه تو خود Sql server نوشت رو ، از سمت EF با LinQ میشه معادل رو نوشت؟
847

3 پاسخ
  • محمد اشرافی26 آذر ۱۴۰۰

    سلام ، بستگی به Query داره ولی توی 99% مواقع آره میشه ، خیلیییی خیلییی کم پیش میاد که نشه  

    من چهار ساله دارم باهاش کار میکنم فقط 2 -3  بار پیش اومد که مجبور شدم از dapper استفاده کنم

  • ahmad saeideh26 آذر ۱۴۰۰

    اون ۱ ٪ چه نوع کوئری هایی هستن؟ میشه نتیجه گرفت در ۱۰۰٪ مواقع با dapper از ssms و sql server بی نیاز میشیم؟ ( میدونم که بلد بودن sql لازمه) فقط میخوام بدونم که ی تناظر توی ذهنم ایجاد کنم

  • محمد اشرافی25 دي ۱۴۰۰

    ببینید بعضی وقتا لازمه یکسری Query هایی بزنیم که نمیشه با ef پیاده سازیش کرد ، 

    مثلا یه پروژه ای داشتم هر کاربر برای ثبت نام باید حتما یک معرف داشته باشه و می خواستم توی ادمین زیر مجموعه هر کاربر رو بر اساس Level قرارگیریشون توی این Binary Tree نمایش بدم و هر کاری کردم با Ef پیاده سازی نمی شدم

    این Query ای بود که باید می نوشتم : 

    WITH x AS
    (
        -- anchor:
        SELECT Id, Email, PresenterUserId, [level] = 1
        FROM [account].Users WHERE PresenterUserId =3
        UNION ALL
        -- recursive:
        SELECT t.Id, t.Email, t.PresenterUserId, [level] = x.[level] + 1
        FROM x INNER JOIN [account].Users AS t
        ON t.PresenterUserId = x.ID
    )
    SELECT Id, Email, PresenterUserId, [level] FROM x
    ORDER BY [level]
    

    خوب مجبور شدم این به صورت مستقیم روی بانک اجرا کنم چون معادل این Query رو توی ef نبود