
from gift in db.Gifts ואחריו join hGroup in db.HGroups. השמות gift ו-hGroup זמינים בכל המשך השאילתה.on gift.HGroupId equals hGroup.Id. כאן משתמשים ב-equals ולא ב-==. השאילתה לא צריכה את האובייקט המאחד (joined) מהשיטה הקודמת, ולכן נחסך קוד.where gift.Price >= 10 && gift.Price <= 40. אפשר להוסיף גם תנאי על עמודה של hGroup, כמו גיל מינימום.orderby gift.Price descending, gift.Name, כאשר מיון משני מופרד בפסיק. ascending אינו חובה.select new עם GiftId = gift.Id, GiftName = gift.Name, Price = gift.Price ו-HGroup = hGroup.Name.query.ToList() ניגש למסד הנתונים ומחזיר את התוצאה הסופית.הטקסט המלא של הדקות הראשונות בהרצאה «שאילתת LINQ מורכבת מסוג SQL-Like» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אז בעצם התחביר של sql-like הוא הרבה יותר קל מאשר תחביר של method-like במקרה הזה לפחות, במקרים של שאילתות מורכבות. בואו ניקח את כל הפונקציה המורכבת הזאת, נדביק אותה ותראו כמה קל לבצע join בשיטת sql-like.
בואו נשנה את זה למספר 5. זאת השאילתה, שימו לב מה אנחנו עושים. var query, זה ברור, אנחנו לא מקבלים את התוצאה הסופית, אלא query ואז על ידי toList הופכים אותה לתוצאה הסופית.
שווה from gift in db.gifts. join h group in db.h groups. בינתיים ראינו שאנחנו אומרים לו שזה ה-collection הראשון, זה ה-collection השני.
gift זאת המילה הזאת שנמצאת פה, שאנחנו מתעסקים איתה בכל מקום. h group זאת המילה הזאת שנמצאת פה, כשאנחנו מתעסקים איתה בכל מקום אנחנו אפילו לא נצטרך את האובייקט ג'וינד הזה שזה מה שהביא לנו אותו אז חסכנו כבר קוד ומורכבות on אנחנו ממש דומים לשפת sql הנה ה-on אז ה-on הוא gift.hgroupid == אנחנו בעצם לא משתמשים בשווה במקרה הזה hgroup.id הנה יש לנו את
החלק שלנו. זה בעצם מקביל לשני החבר'ה האלה שאמרנו מי שווה למי. אנחנו רוצים לבחור שגיפט נקודה פרייס גדול שווה 10, אינד גיפט נקודה פרייס קטן שווה ל-40.
יכלנו לעשות פה שוב אינד אייג' גרופ נקודה בוא נניח מינימום אייג' גדול מ-10 כמו שהראתי מקודם אנחנו לא מתעסקים איתו בשאילתא. הספציפית הזאת אבל זה ניתן בקלות order by גיפט נקודה פרייס ואני פשוט מוסיף את המילה descending שימו לב כל דבר יש לי מילה שמורה בשפת c-sharp אם אני רוצה מיון משני זה פשוט פסיק גיפט נקודה name אני יכול לרשום הסנדינג
אני לא חייב אבל בואו נשאיר את המילה הסנדינג סלקט ניו ומה אנחנו בעצם רוצים לבחור אנחנו רוצים לבחור את כל אלה אנחנו רוצים לבחור