LINQ ידוע בשם Language Integrated Query, והוא מוצג ב-.NET 3.5 וב-Visual Studio 2008. המצוינות של LINQ היא שהיא מעניקה את היכולת לשפות NET (כמו C#, VB.NET, וכן הלאה) ליצור פניות אל לשחזר מידע ממקור המידע. לדוגמה, תוכנית עשויה לקבל נתונים מרשומות הלימוד או להגיע לרשומות עובדים, וכן הלאה. בשנים קודמות, סוג כזה של מידע שמור במערך נתונים שונה מהאפליקציה, ואתה באמת רוצה ללמוד סוגים שונים של שפת שאלות כדי לגשת לסוג כזה של מידע כמו SQL, XML וכו'. בנוסף, אינך יכול להעלות שאלה באמצעות שפת C# או שפת NET אחרת.
קרא מקובץ csv ב-java
כדי לנצח בעיות מסוג זה, מיקרוסופט יצרה את LINQ. הוא מחבר קיבולת אחת נוספת לדיאלקטים C# או NET כדי ליצור שאלה עבור כל מקור מידע בר-קיימא של LINQ. יתרה מכך, החלק הטוב ביותר הוא שמבנה המשפט המשמש ליצירת שאלה דומה ללא קשר לסוג מקור המידע בו נעשה שימוש פירושו שהדקדוק של ביצוע חקירה לגבי מידע במערך נתונים חברתי זהה לזה המשמש ליצירת מידע על השאלה. להכניס לאשכול יש סיבה משכנעת שצריך להשתמש ב-SQL או ברכיב אחר שאינו.NET. כמו כן, אתה יכול להשתמש ב-LINQ עם SQL, עם רשומות XML, עם ADO.NET, עם ניהול אינטרנט ועם בסיס מידע אחר.
ב-C#, LINQ זמין במערכת. מרחב השמות של Linq. זה נותן סוגים שונים של שיעורים וטכניקות אשר מחזקים שאלות LINQ. במרחב השמות הזה:
- המחלקה Enumerable מכילה אופרטור שאילתה סטנדרטי שעובד על אובייקט שמבצע את IEnumerable.
- המחלקה הניתנת לשאילתה מכילה מנהלי חקירה סטנדרטיים שעובדים על אובייקט שמפעיל את IQueryable.
לדוגמה : SQL היא שפת שאילתה מובנית המשמשת לשמירה ולשחזור נתונים ממסד הנתונים. באופן דומה, LINQ הוא מבנה משפט שאילתה מאורגן. LINQ הוא ה-C# הבסיסי. הוא משמש לשחזור מידע מסוגים שונים של מקורות, למשל, XML, מסמכים, אוספים, ADO.Net DataSet, Web Service, MS SQL Server ושרתי מסד נתונים שונים.
שימושים של LINQ
- הסיבה העיקרית מאחורי יצירת LINQ היא, לפני C# 3.0, השתמשנו עבור לולאה, עבור כל לולאה, או נציגים כדי לעבור אוסף כדי להתחקות אחר אובייקט מסוים, אך הפגיעה באסטרטגיות אלו למציאת אובייקט הוא שאתה באמת רוצה חבר כמות עצומה של קוד כדי למצוא אובייקט שהוא מייגע נוסף ולהפוך את התוכנית שלך לפחות ברורה. אז כדי להביס את הבעיות האלה, מוצג LINQ, שמציג פעילות דומה בכמה כמויות של שורות ומבהיר את הקוד שלך; בנוסף, אתה יכול לערב קוד דומה בפרויקטים שונים.
- זה גם נותן בדיקת מיון מלאה בזמן ההידור. זה עוזר לנו להבחין בין השגיאה בזמן הריצה, כך שללא ספק נוכל לחסל אותם.
- LINQ היא שפה פשוטה, מאוד מסודרת וברמה משמעותית מאשר SQL
- אתה יכול גם להשתמש ב-LINQ עם מערך C# ואוספים. זה מספק לך הדרכה נוספת לטפל בבעיות הישנות בצורה עוצמתית.
- בסיוע של LINQ, אתה ללא ספק יכול לעבוד עם מקור נתונים כמו XML, SQL, Entities, אובייקטים וכו'. שאילתה אחת יכולה לעבוד עם מסד הנתונים, סיבה משכנעת צריך ללמוד סוגים שונים של שפות.
- LINQ שומר על ביטוי שאילתה, טיפוסים אנונימיים, משתנים המוקלדים בצורה מרומזת, ביטויי Lambda, מאתחלי אובייקט ואוסף ושיטות הרחבה.
אנו יכולים להשתמש בשאילתות LINQ בשתי דרכים
מבנה התחביר של שאילתת LINQ מורכב ממילות מפתח של שאילתות המתאפיינות בעיבוד .NET System 3.5 ומעלה. זה מאפשר למהנדס התוכנה או למפתחים להרכיב את הכיוונים בדומה לעיצוב SQL בקוד (C# או VB.NET) ללא ניצול תעריפים. זה ידוע באופן דומה לאור העובדה כי דקדוק ניסוח השאלה. ב-LINQ, אתה יכול לחבר את החקירה ל-IEnumerable series או IQueryable מקורות מידע תוך שימוש באסטרטגיות הבאות:
1. תחביר שאילתות:
תחביר שפת השאילתה LINQ מתחיל ממילת מפתח ומסתיים במילת המפתח Select או GroupBy. לאחר ממילת מפתח, אתה יכול להשתמש בסוגים שונים של פעולות שאילתה סטנדרטיות כמו קיבוץ, סינון וכן הלאה, לפי הצורך שלך. ב-LINQ, 50 סוגים ייחודיים של מנהלי שאלות סטנדרטיים נגישים.
שלבים לכתיבת תחביר השאילתה:
שלב 1: בשלב הראשון, עלינו להוסיף את מרחב השמות System.Linq בקוד.
i.e., using System.Linq;
שלב 2: בשלב שני, עלינו ליצור את מקור הנתונים שעליו עלינו לבצע את הפעולות
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ.' ' Any Queries ' };
שלב 3: בשלב השלישי, עלינו ליצור את השאילתה עבור מקור הנתונים באמצעות מילת מפתח כמו select, from וכו'.
Ex: var r = from l in list where l.Contains(' Hii ') select l;
כאן r הוא משתנה השאילתה המאחסן את התוצאה של ניסוח השאילתה. פסקת הטופס משמשת כדי לקבוע את מקור המידע, כלומר הרשימה, כאשר התנאי חל על הערוץ, כלומר, l.Contains(' Hii ') והצהרת בחר נותן את סוג הדברים שהוחזרו. יתר על כן, l הוא משתנה הטווח.
שלב 4: השלב האחרון הוא לבצע את השאילתה באמצעות עבור כל לולאה.
EX: foreach(var i in r) { Console.WriteLine(i); }
תוכנית לדוגמה על תחביר שאילתה:
// program to create LINQ query using Query Syntax // step-1: Adding the System.Linq namespace in the code. using System; using System.Linq; using System.Collections.Generic; class HelloWorld { // Main Method static public void Main() { // Step-2: creating the data source on which we have to perform the operations List list = new List() { ' Hii JavaTpoint', ' Welcome to JavaTpoint ', ' The topic is LINQ ', ' Any Queries ' }; // step-3: Creating the LINQ query for the data source using a keyword like select, from, etc. var r = from l in list where l.Contains(' JavaTpoint') select l; // In this will print only the sentence which contains JavaTpoint word // step-4: Executing LINQ Query using the for each loop foreach(var i in r) { Console.WriteLine(i); } } }
תְפוּקָה:
ג'אווה שלום עולם
2. תחביר השיטה
ב-LINQ, תחביר השיטה משמש כדי לקרוא לשיטת ההרחבה עבור המחלקות הסטטיות Inumerable או Queryable. זה נקרא גם Method Extension Syntax או Fluent. עם זאת, המהדר משתנה בדרך כלל על תחביר השאילתה במבנה תחביר השיטה בזמן ההידור. זה יכול לזמן את אופרטור השאילתה הסטנדרטי כמו Where, Join, Max, Min, Avg, GroupBy Select, וכן הלאה. אתה רשאי להתקשר אליהם בפשטות מבלי להשתמש בתחביר שאילתה.
שלב 1: בשלב הראשון, עלינו להוסיף את מרחב השמות System.Linq בקוד.
i.e., using System.Linq;
שלב 2: בשלב שני, עלינו ליצור את מקור הנתונים שעליו עלינו לבצע את הפעולות
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ ' ' Any Queries ' };
שלב 3: כעת צור את השאילתה באמצעות השיטות המסופקות על ידי המחלקות הסטטיות Enumerable או Queryable
Ex: var r = list.Where(a=> a.Contains(' JavaTpoint '));
כאן r הוא משתנה השאילתה המאחסן את התוצאה של ניסוח השאילתה. פסקת הטופס משמשת כדי לקבוע את מקור המידע, כלומר הרשימה, כאשר התנאי חל על הערוץ, כלומר, l.Contains(' Hii ') והצהרת בחר נותן את סוג הדברים שהוחזרו. יתר על כן, l הוא משתנה הטווח.
שלב 4: השלב האחרון הוא לבצע את השאילתה באמצעות עבור כל לולאה.
EX: foreach(var i in r) { Console.WriteLine(i); }
תוכנית לדוגמה על תחביר השיטה:
// program to create LINQ query using Method syntax // step-1: Adding the System.Linq namespace in the code. using System; using System.Linq; using System.Collections.Generic; class HelloWorld { // Main Method static public void Main() { // Step-2: creating the data source on which we have to perform the operations List list = new List() { ' Hii JavaTpoint', ' Welcome to JavaTpoint ', ' The topic is LINQ ', ' Any Queries ' }; //step-3 creating the query using the methods provided by the Enumerable or Queryable static classes var r = list.Where(a=> a.Contains(' JavaTpoint ')); // In this will print only the sentence which contains JavaTpoint word // Executing LINQ Query using the for each loop foreach(var i in r) { Console.WriteLine(i); } } }
תְפוּקָה:
היתרונות של LINQ
- הלקוח לא צריך ללמוד שפות שאילתות חדשות עבור סוג חלופי של פורמט נתונים או מקור נתונים.
- זה מגדיל את בהירות הקוד.
- ניתן לעשות שימוש חוזר בשאילתה.
- זה נותן בדיקת סוג של האובייקט בזמן ההרכבה.
- זה נותן IntelliSense לאוספים קונבנציונליים.
- זה נוטה להיות מנוצל עם אוספים או מערכים.
- LINQ מקיימת סדר, קיבוץ, סינון ומיון.
- זה הופך את איתור הבאגים לפשוט מכיוון שהוא מתואם עם שפת C#.
- זה נותן שינוי פשוט ומציע שאתה ללא ספק יכול לשנות יותר מסוג נתונים אחד לסוג נתונים אחר כמו שינוי נתוני SQL לנתוני XML.