query

سوال شده توسط:

تاریخ ثبت: ۱۴۰۰/۰۹/۲۵

بازدید: 673

پاسخ: 3

تگ: Entity Framework Core


سلام هر کوئری ایی که بشه تو خود Sql server نوشت رو ، از سمت EF با LinQ میشه معادل رو نوشت؟
پاسخ ها
user

محمد اشرافی

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

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

user

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

user

محمد اشرافی

ببینید بعضی وقتا لازمه یکسری 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 نبود

برای ثبت پاسخ باید خود شوید

محبوب ترین مقالات