![]() |
|
افتراضي linQ to sql data الأستعلام من خلال لينك. وروعتها فى الأداء - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175) +--- قسم : قسم تقنية LinQ (http://vb4arb.com/vb/forumdisplay.php?fid=204) +--- الموضوع : افتراضي linQ to sql data الأستعلام من خلال لينك. وروعتها فى الأداء (/showthread.php?tid=4807) |
افتراضي linQ to sql data الأستعلام من خلال لينك. وروعتها فى الأداء - RaggiTech - 02-10-12 كاتب الموضوع : bedoonline
السلام عليكم ورحمه الله وبركاته بسم الله الرحمن الرحيم الحمد لله والصلاة والسلام على رسول الله وعلى آله وصحبه أما بعد:
موضوعنا اليوم يخص linQ لغه الأستعلامات الجديده من مايكروسوفت لعام 2008 . بصراحه لم أجد من شرح linq من قبل فقررت أن أشرح بعض الجمل والشروط لها لعلها تكون أفضل من ado.net فى الأستعلامات . .وإن شاء الله الشرح يقيدكم .
linq = language integrated query لغه الأستعلام المترابطه أى هى لغه للإستعلام فقط
أنواع الأستعلامات الخاصه linqتتعامل مع كل أنواع قواعد البيانات و xml تتعامل مع كل لغات .net تتعامل مع كل من windows applications و asp.net تتعامل مع قواعد البيانات سكوالlinq to sql تتعامل مع الداتا ست أو الداتا تابل الخاصه ب ad.net linq dataset مثل التعامل مع المصوفوفات linq to objects linq to xml لنكتفى من الكلام عن Linq لا بيعطى ولا بيجيب وندخل فى بناء الجمله داخل لينك المعروف أخوانى فى جمله سيلكت الموجوده فى السكوال عامتاً تحتوى على syntax بالشكل ده select * from employees where employeeid = 1 order by employeename asc * = الصف كله where employeeid = 1 يعنى عندما يكون رقم الموظف هوه 1 order by employeename asc ترتيب أسم الموظف أبجدياً أعتقد إحنا نعرف الجمله دى تعالى نبدء بال linq query syntax from employees where employeeid =1 order by employeename asc select الفكره فى linq أنك بتبدء من from والنهايه تكون select سهله جداً لندخل فى الأمثله وسنكتفى اليوم عن linq to objects وغداً بإذن الله تعالى linq to xml وعن linq to datset 1- linq to objects أو شىء أستدعاء مكتبه system.linq مسأله واحد : لو أنا أريد أستنتاج الحروف الفرديه من مصفوفه معين ولتكن كالأتى كود : [color=#000000][COLOR=#0000bb] Dim num [/color][color=#007700]As [/color][color=#0000bb]Integer[/color][color=#007700]() = {[/color][color=#0000bb]1[/color][color=#007700], [/color][color=#0000bb]5[/color][color=#007700], [/color][color=#0000bb]7[/color][color=#007700], [/color][color=#0000bb]10[/color][color=#007700], [/color][color=#0000bb]34[/color][color=#007700], [/color][color=#0000bb]54[/color][COLOR=#007700]} شرح الكود from number in num هنا يقوم المترجم من وراء الكواليس بتحديد نوع الnumber ويجعله Integer لأنه بالطبع وجد أن In num where number mod 2<>0 أى عندم يكون الرقم لا يقبل القسمه على 2 order by number descending تعنى ترتيب الأرقام تنازلياً select number وهنا من الغريب فى هذه اللغه أنك من الممكن عدم كتابه select number لأن البرنامج يستطبع معرفه ماذا تريد كيفيه إظهار النتائج فى listbox مثلاً سيتم عن طريق for each loop كود : [color=#000000][COLOR=#0000bb][/color][color=#007700]For [/color][color=#0000bb]Each number [/color][color=#007700]As [/color][COLOR=#0000bb]Integer In oddNum ومن هنا أخوانى يمكن أن تستخدم linq to objects فى الأستعلام داخل الكلاسات يعنى مثلاً لو عندنا كلاس خاص بعلومات عن المرضى فى مستشفى معينه وكيفيه إنشاء الكلاس هيكون بالكود الأتى كود : [color=#000000][COLOR=#0000bb][/color][color=#007700]Public Class [/color][COLOR=#0000bb]Actor وتصميم الكلاس عن طريق الdesign بهذا الشكل الفكره حالياً كيفيه إضافه مرضى إلى هذا الكلاس بإستخدام Linq أول شىء الفرق بين الإضافتين فى الfunctions وليكن patlist() بالطريقه العاديه سيتم تعريف متغير من الكلاس الموجود كود : [color=#000000][COLOR=#0000bb]dim pat [/color][color=#007700]as new [/color][COLOR=#0000bb]patients أما بطريقه لينك كود : [color=#000000][COLOR=#0000bb]Dim pat1[/color][color=#007700]= [/color][color=#0000bb]patlist[/color][COLOR=#007700]() وهنا نجد أن with تعود على الخصائص الموجوده فى الكلاس patients كيفيه عمل أستعلام من الكلاس بإستخدام linq اقتباس: [TABLE="width: 100%"] [TR] [TD="class: alt2"]Dim patients= patlist() Dim julypats = _ From pat In patients_ Where pat.BirthDate.Month = 7 _ Order By pat.LastName, pat.FirstName _ Select pat [/TD] [/TR] [/TABLE] من وهذا الأستعلام نريد المرضى الذين أنجبوا فى شهر يوليو .................................................. ............................................... والله أخوانى حاسس أنى لم استطع توصيل المعلومه جيداً ولكنى سأحاول تعديل شرحى فى الداتا باس لأنها الأهم ويارب أكون قدرت أوصل المعلومه لكم .. وسيتم شرح dataset قريباً بإذن الله هذه كانت مقدمه بسيطه linq وكيف سيتم إستخدمها والسلام عليكم ورحمه الله وبركاته |