- الحصول على الرابط
- X
- بريد إلكتروني
- التطبيقات الأخرى
- الحصول على الرابط
- X
- بريد إلكتروني
- التطبيقات الأخرى
فى اكتر من أسلوب يتم استخدامه لتنفيذ الـ LINQ QUERY.
1-Deferred Streaming Execution
2-Deferred Non Streaming Execution
3-Immediate Execution
Deferred Execution
فى ال Deferred Execution لا يتم البدء فى تنفيذ ال Query إلا عند استخدامها بمعنى أن ال query يتم عمل declaration لها ولا يتم تنفيذها إلا عند استخدامها.
مثال:
و هنلاحظ ان ال Query لم يتم تنفيذها .
وهنا تم تنفيذ ال Query عند استخدامها من foreach ,بس فى ملاحظه مهمه وأن where method لا تقوم بعمل return لكل ال results بل على مراحل وهنا هنقول على الـ where انها Deferred Streaming وتحقق دا عن طريق استخدام ال Yield.
فى method بتكون Deferred بس بترجع ال result كلها مره واحده لل caller وليس على مراحل. مثل ال order by.
مثال:
2-Immediate Execution
ال Query لما تتكون من Deferred methods لازم نستخدمها علشان ال methods تتنفذ انما لو ال Query تحتوى على اى Immediate Execution method ال Query هتتنفذ على طول مثل ال ()ToList .
مثال:
وهنا هنلاحظ أنه لم يتم استخدام foreach لتنفيذ ال Query بس ال Query اتنفذت على طول علشان بنستخدم Immediate Execution Method.
الملخص:
إن في methods لا يتم تنفيذها إلا عند استخدام الـ Query وهى ال Deferred Methods.
ال Deferred Methods ممكن ترجع ال result على مراحل وهنا بنقول عليها Deferred Streaming Method.
ال Deferred Method ممكن ترجع ال result كلها مرة واحدة وهنا بنقول عليها Deferred Non Streaming Method
وفى methods بتخلى ال query تتنفذ فى الحال وبنقول عليها Immediate Execution Methods .
تعليقات
إرسال تعليق