PracticU

יצירת שאילתות View
דוט-נט Core

בלי כתוביותעם כתוביות
PracticU › קורס Entity Framework Core - עבודה עם מסד נתונים בדוט-נט › יצירת שאילתות View דוט-נט Core
מילון מושגים:
שאילתה - בקשה למסד נתונים לשלוף, להוסיף, לעדכן או למחוק נתונים, לרוב בשפת SQL.
View - רכיב שאחראי על הצגת המידע למשתמש (התצוגה) בדפוס MVC. גם טבלה וירטואלית מבוססת שאילתה במסד נתונים.
טבלה - מבנה במסד נתונים שמאחסן נתונים בשורות ועמודות. כל שורה היא רשומה וכל עמודה היא שדה.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
Join - פעולת SQL שמשלבת שורות משתי טבלאות או יותר על בסיס קשר ביניהן.
תנאי - ביטוי לוגי בקוד שתוצאתו אמת או שקר, וקובע אילו פקודות יתבצעו בהתאם לערכו.

יצירת שאילתות View דוט-נט Core
View הוא טבלה וירטואלית, שאילתת Select שנשמרת במסד הנתונים ומשמשת כמו טבלה. בשיטת Code First קודם יוצרים מודלים, אבל View הוא שאילתה שחייבת להיות במסד, ולכן כותבים אותה בקוד כמחרוזת SQL שתישמר ב-migration.
השלבים העיקריים
1. מחלקה לשאילתות: ב-Utils מוסיפים מחלקה Sql, static class, ובה מחרוזות public static readonly string.
2. מחרוזת מרובת שורות: כדי לרדת שורה במחרוזת שמים לפניה @.
3. ה-View בדוגמה: CREATE OR ALTER VIEW YoungGifts מביא שם מתנה, מחיר ושם קבוצת הגיל (AS HGroupName) מ-Gifts ב-JOIN עם HGroups, עם on על HGroupId. התנאי where HGroups.Name in מסנן רק את קבוצות Babies ו-Children, כי אלה המתנות שמחפשים הכי הרבה.
4. בדיקה מראש: כדאי להריץ את ה-select לבדו ב-New Query בכלי המסד, כדי לגלות טעויות לפני שמכניסים אותו ל-migration.
5. שאילתת מחיקה: מחרוזת נוספת עם DROP VIEW IF EXISTS YoungGifts.
למה צריך שאילתת מחיקה
כמו שה-migration יוצר את ה-View ב-Up, ב-rollback (Down) יש להסיר אותו. לכן בטכניקת Code First כותבים שאילתה ליצירה וגם שאילתה למחיקה.
עדיין לא נוצר View במסד הנתונים. ההרצאה הבאה משתמשת בשתי השאילתות ב-migration.
אחרי ההרצאה תוכלו להכין בקוד את שאילתות היצירה והמחיקה של View.
השיעור הבא בקורס: עדכון ה-View במסד הנתונים

פרקי ההרצאה: יצירת שאילתות View דוט-נט Core

  1. 00:00

    מהו View ב-Entity Framework

  2. 01:00

    View כשאילתה בשיטת Code First

  3. 01:43

    קלאס static לשאילתות SQL

  4. 02:21

    בחירת ה-View למתנות צעירים

  5. 03:33

    כתיבת שאילתה במחרוזת verbatim

  6. 04:07

    בניית שאילתת ה-SELECT וה-JOIN

  7. 05:20

    בדיקת השאילתה בדאטאבייס

תמלול ההרצאה: יצירת שאילתות View דוט-נט Core

הטקסט המלא של הדקות הראשונות בהרצאה «יצירת שאילתות View דוט-נט Core» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    אנחנו מגיעים לפרק שבו אנחנו רוצים לראות איך בעזרת Entity Framework Core בשיטת Code First אנחנו מתעסקים עם Views תזכורת קטנה, View זה בעצם טבלה וירטואלית או שאילתת SQL של Select שמכילה שם, נשמרת בדאטאבייס ואז אנחנו יכולים להשתמש בה כאילו שזאת טבלה וכל פעם שאנחנו קוראים לה אז השאילתא הכתובה שם מורדת, מורצת ומחזירה לנו מידע זה מאפשר לנו הרבה

  2. 00:34

    דברים זה מאפשר לנו לקחת טבלה מורכבת ולבנות שאילתא שמפשטת אותה ככה שאנחנו משתמשים כל פעם עם הטבלה הפשוטה יותר זה מאפשר לנו להביא חלק מטבלה ולא את כל המידע שבטבלה על ידי view מתאים ועוד הרבה שימושים אנחנו רוצים לראות איך משתמשים בזה ב-entity framework כאשר השימוש הוא בשיטת code first אז בשיטת code first אנחנו ראינו שאנחנו יוצרים את המודלים

  3. 01:01

    קודם כל ואז עושים מיגריישן ששומרת את זה בדאטאבייס. Vue זה לא מודל, לפחות לא בהתחלה. Vue זה שאילתא שחייבת להיות בדאטאבייס. לכן אנחנו רוצים לייצר שאילתא ולגרום לשאילתא להישמר בדאטאבייס.

  4. 01:21

    אם היינו עובדים בשיטת Database First אז היינו יוצרים אותה בדאטאבייס מלכתחילה. בגלל שאנחנו בשיטת code first אנחנו יוצרים אותה אצלנו בפרויקט ואנחנו הולכים ל-utils ומוסיפים קלאס בואו נקרא לה קלאס sql נוריד כאן את זה נבצע namespace בצורה כזאת ויש לנו כאן איזה שהיא קלאס שהתפקיד שלה זה להחזיק שאילתות sql.

  5. 01:54

    נגדיר את הקלאס כ-static-class זה אומר שכל מה שנמצא בתוך הקלאס הזה הוא סטטי בלבד חייב להיות סטטי ואנחנו רוצים לבנות כאן public static read only אנחנו לא רוצים לשנות את זה סטרינג שמכילה את השאילתה ליצירת view בואו נקרא לה create view underline ואת השם של ה-view שאנחנו רוצים ליצור איזה view אנחנו רוצים ליצור

  6. 02:25

    אנחנו רוצים view שמביא רק חלק מהדברים שקיימים בטבלה המקורית. הטבלה המקורית שלנו, בוא נגיד, היא טבלת המתנות בדאטאבייס.

  7. 02:37

    אם נסתכל רגע על הדאטאבייס, אז נוכל לראות שיש לנו כאן טבלת המתנות, וטבלת המתנות מביאה מתנות מכל מיני גילאים. ובוא נגיד שאנחנו רואים שהרבה פעמים רוצים להביא מתנות רק לילדים או תינוקות.

  8. 02:55

    זה בעצם בייביז, וזה צ'ילדרן. אחד זה בייביז, שתיים זה צ'ילדרן, זה הטווחי גילאים שיש לנו. ומה שכאילו שמנו לב, או במערכת אמיתית שמו לב, זה שרוב המתנות זה המתנות האלה שמחפשים.

  9. 03:09

    פחות מחפשים מתנות לטינג'רס ולאדלס, ולכן אנחנו רוצים תמיד לבצע שאילתות, או המון פעמים לבצע שאילתות, ולהביא רק מתנות כאלה.

  10. 03:19

    אין בעיה. בואו נייצר view שמביא את הסוגים האלה של המתנות, נקרא ל-v הזה, young gifts, כאילו מתנות לצעירים.

  11. 03:31

    ואנחנו רוצים להכניס את השאילתה. בגלל שהשאילתה הזאת בנויה ממספר חלקים, אז אנחנו רוצים גם לרדת שורה. אבל אנחנו לא יכולים לרדת שורה במחרוזת רגילה.

  12. 03:44

    אנחנו יכולים לרדת שורה במחרוזת שיש לפניה שטרודל. השטרודל הזה אומר שאנחנו יכולים גם לרדת שורה כאן, אין בעיה, ולכתוב את המחוזת בצורה הזאת.

  13. 03:56

    אז אנחנו רוצים to create or alter view, נקרא לו young gifts. הקונספט זה לא מתנות צעירות, אלא מתנות לצעירים, אבל הבנתם את הרעיון.

  14. 04:08

    אפשר לקרוא לה גם young one gifts, אבל לצורך הפשטות אני אקרא לה young gifts, מתנות לצעירים. Select gifts.name.gifts.price hgroups.name as hgroup name ואנחנו רוצים להביא את זה from גם gifts.join hgroups ואנחנו רוצים שהאון שלנו יהיה gifts.hgroupid שווה hgroups.hgroupid בצורה כזאת, כאן מגיע חלק של ה-where hgroups.name in תביא לי רק כאלה ששייכות לבייביז

  15. 04:46

    ו-children ויש לנו כרגע את כל השאילתה שיוצרת את ה-view זאת אומרת שאם היינו מבצעים בדאטאבייס רק את זה האמת שהרבה פעמים כדאי פשוט לקחת רק את ה-select ללכת לדאטאבייס, לייצר New Query, להדביק ולראות מה הוא מביא.

  16. 05:22

    יכול להיות שכבר כאן יש טעות, אז זה חוסך

לקורס המלא: קורס Entity Framework Core

ההרצאה הקודמת: שאילתת LINQ - על אוספים רגילים

ההרצאה הבאה: עדכון ה-View - במסד הנתונים

הרצאות קשורות מקורסים אחרים

  • יצירת Controller - דוט-נט Core
  • יצירת תת-שאילתות ב-SQL
  • יצירת Partial View
  • הסבר על Console - דוט-נט Framework vs Core

קורסים נוספים במסלול

  • קורס דוט-נט - NET Core. - עם Rest API
  • קורס ASP.NET
  • קורס MVC
  • קורס Git ו-GitHub עם Visual Studio