ينق لإطار الكيان اختيار الجداول كلها
-
03-07-2019 - |
سؤال
ولدي بيان ينق التالية:
(from order in Orders.AsEnumerable()
join component in Components.AsEnumerable()
on order.ORDER_ID equals component.ORDER_ID
join detail in Detailss.AsEnumerable()
on component.RESULT_ID equals detail.RESULT_ID
where orderRestrict.ORDER_MNEMONIC == "MyOrderText"
select new
{
Mnemonic = detail.TEST_MNEMONIC,
OrderID = component.ORDER_ID,
SeqNumber = component.SEQ_NUM
}).ToList()
وأتوقع هذا لاخماد الاستعلام التالي:
select *
from Orders ord (NoLock)
join Component comp (NoLock)
on ord .ORDER_ID = comp.ORDER_ID
join Details detail (NoLock)
on comp.RESULT_TEST_NUM = detail .RESULT_TEST_NUM
where res.ORDER_MNEMONIC = 'MyOrderText'
ولكن بدلا من ذلك الحصول على 3 استفسارات منفصلة أن تحديد كافة الصفوف من الجداول. وأنا على التخمين أن ينق ثم يتم تصفية القيم لأنني لا تحصل على القيم الصحيحة في نهاية المطاف.
والمشكلة هي أنه يأخذ WAY WAY فترة طويلة جدا لأنه هدم كافة الصفوف من جميع الجداول الثلاثة.
وأي أفكار كيف يمكنني إصلاح ذلك؟
المحلول
وإزالة .AsEnumerable () الصورة من الاستعلام لأن هذه هي منع الاستعلام بالكامل يجري تقييمها على الخادم.
لا تنتمي إلى StackOverflow