English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
هناك طريقتان أساسيتان لنسخ استعلام LINQ إلى مجموعة IEnumerable أو مصدر بيانات IQueryable.
قواعد الاستعلام أو قواعد التعبير
قواعد الاستعلام أو قواعد التعبير أو قواعد التسلسل
قواعد الاستعلام تشبه لغة SQL (لغة الاستعلام الهيكلية). يتم تعريفها في كود C# أو VB.
قواعد الاستعلام LINQ:
من <م変ير النطاق> في <مجموعة IEnumerable<T> أو IQueryable<T>> <قواعد الاستعلام القياسية > <تعبير lambda> <تحديد أو عمليات المجموع > <شكل النتيجة>
قواعد الاستعلام LINQ تبدأ بكلمة from وتنتهي بكلمة select. إليك مثال على استعلام LINQ، يعود بمجموعة من الأحرف تحتوي على كلمة " توتوريالس ".
// 字符串集合 IList<string> stringList = new List<string>() { "توتوريالس C#", "توتوريالس VB.NET", "تعلم C++", "MVC توتوريالس", "Java" }; // LINQ查询语法 var result = from s in stringList where s.Contains("Tutorials") select s;
الشكل التالي يوضح هيكل لغة استعلام LINQ.
تبدأ لغة استعلام LINQ بجملة From، تتبعها Range متغير. From هيكل الجملة يشبه "From rangeVariableName in i enumerablecollection”. في اللغة الإنجليزية، هذا يعني، من كل كائن في المجموعة. يشبه foreach دائرة:foreach(Student s in studentList).
بعد جملة FROM، يمكنك استخدام مختلف عمليات الاستعلام القياسية لفرز، وفرز وتوصيل العناصر في المجموعة. هناك حوالي 50 عمليات استعلام قياسية في LINQ. في الشكل السابق، استخدمنا عمليات الاستعلام "where" (أو الجملة)، متبوعة بشرط. عادة ما تستخدم تعبير lambda لتعبير عن هذا الشرط.
لغة استعلام LINQ دائمًا تنتهي بجملة Select أو Group. جملة Select تستخدم لتشكيل البيانات. يمكنك اختيار الكائن بأكمله أو بعض الخصائص فقط. في المثال السابق، اختارنا كل عنصر نتيجة.
في المثال التالي، نستخدم لغة استعلام LINQ لاستخراج طلاب المراهقة من مجموعة Student (سلسلة).
// مجموعة الطلاب IList<Student> studentList = new List<Student>() { new Student() { StudentID = 1, StudentName = "John", Age = 13} , new Student() { StudentID = 2, StudentName = "Moin", Age = 21 } , new Student() { StudentID = 3, StudentName = "Bill", Age = 18 } , new Student() { StudentID = 4, StudentName = "Ram" , Age = 20}, new Student() { StudentID = 5, StudentName = "Ron" , Age = 15 } }; // استعلام LINQ لاستخراج طلاب المراهقة var teenAgerStudent = from s in studentList حيث s.Age > 12 && s.Age < 20 select s;
// مجموعة الطلاب Dim studentList = New List(Of Student) From { New Student() With {.StudentID = 1, .StudentName = "John", .Age = 13}, New Student() With {.StudentID = 2, .StudentName = "Moin", .Age = 21}, New Student() With {.StudentID = 3, .StudentName = "Bill", .Age = 18}, New Student() With {.StudentID = 4, .StudentName = "Ram", .Age = 20}, New Student() With {.StudentID = 5, .StudentName = "Ron", .Age = 15} } // استعلام LINQ لاستخراج طلاب المراهقة Dim teenAgerStudents As IList(Of Student) = (From s In studentList _ Where s.Age > 12 And s.Age < 20 _ Select s).ToList()
كما يُقالقواعد الاستعلاملغة استعلام SQL (لغة الاستعلام للبنية التحتية)
قواعد الاستعلام تُكتب بنفس طريقةمنبداية الجملة، يمكن أن تكونSelectأوGroupByنهاية الجملة.
استخدام مجموعة متنوعة من العمليات الأخرى، مثل عمليات الفلترة، والربط، والتصنيف، وعمليات الترتيب لإنشاء النتائج المطلوبة.
المغيرات غير المعلنة - var يمكن استخدامها لتح Konsol LINQ.