PracticU

שימוש ב-Stored Procedure
Entity Framework Core

בלי כתוביותעם כתוביות
PracticU › קורס Entity Framework Core - עבודה עם מסד נתונים בדוט-נט › שימוש ב-Stored Procedure Entity Framework Core
מילון מושגים:
פרוצדורה מאוחסנת - קטע קוד SQL שמור במסד הנתונים שאפשר להפעיל לפי שם, לביצוע חוזר של פעולות על הנתונים.
Entity Framework - ספריית מיקרוסופט שממפה בין אובייקטים בקוד לבין טבלאות במסד נתונים, ומאפשרת לעבוד עם הנתונים בלי לכתוב SQL ישיר.
פריימוורק - מסגרת תוכנה שמספקת מבנה וכלים מוכנים לפיתוח יישומים, כדי לחסוך כתיבת קוד חוזר.
שאילתה - בקשה למסד נתונים לשלוף, להוסיף, לעדכן או למחוק נתונים, לרוב בשפת SQL.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
לולאה - מבנה בקרה שחוזר על קטע קוד שוב ושוב כל עוד תנאי מתקיים או עבור כל פריט באוסף.
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
SQL Injection - חולשה שבה קלט זדוני מוחדר לשאילתת SQL, ומאפשר לתוקף לקרוא או לשנות נתונים במסד.

שימוש ב-Stored Procedure Entity Framework Core
בהרצאה הזו קוראים ל-Stored Procedure של חיפוש שנבנתה קודם, מתוך תוכנית ב-Entity Framework Core, ומציגים את התוצאות שחוזרות ממנה.
השלבים העיקריים
1. פונקציה שקולטת טקסט: בונים בקלאס Program פונקציה סטטית לחיפוש מתנות. היא מבקשת מהמשתמש טקסט לחיפוש וקוראת אותו עם Console.ReadLine.
2. הכנת נתוני בדיקה: מוסיפים בדאטה בייס מתנה נוספת, fast Fidget for kids, כדי שחיפוש המילה Fidget יחזיר רק את שתי המתנות שמכילות אותה.
3. בדיקה בשאילתה: מריצים את ה-Stored Procedure ישירות ב-SQL עם המחרוזת Fidget. בשפת SQL מחרוזת נשלחת בגרשיים, והתוצאה היא שני ה-Fidget Spinner.
4. קריאה מהקוד: משתמשים ב-FromSqlRaw על אוסף המתנות, שולחים את הטקסט עטוף בגרשיים, והופכים את התוצאה ל-list.
5. הצגת התוצאות: עוברים בלולאה על האוסף ומציגים מזהה, שם ומחיר.
פקודות והגדרות
הקריאה נראית כמו db.gifts.FromSql... עם השם search gifts. מילת ה-execute לפני שם ה-Procedure אינה חובה. את המשתנה שנקלט מסמנים ב-! כי המשתמש אמור להכניס טקסט שאינו null.
שימו לב
הקריאה כאן נעשית עם FromSqlRaw, ולכן הטקסט עטוף בגרשיים ידנית. ההרצאה הבאה עוסקת בהתקפת SQL injection.
בסיום ההרצאה אפשר להפעיל Stored Procedure שנבנתה ב-Entity Framework Code First ולהציג את הנתונים שהיא מחזירה.
השיעור הבא בקורס: התקפת SQL injection

פרקי ההרצאה: שימוש ב-Stored Procedure Entity Framework Core

  1. 00:00

    פונקציה שקולטת טקסט מהמשתמש

  2. 00:40

    קריאה ל-Procedure עם FromSqlRaw

  3. 01:14

    עטיפת הטקסט בגרשיים

  4. 02:09

    בדיקת ה-Procedure בדאטאבייס

תמלול ההרצאה: שימוש ב-Stored Procedure Entity Framework Core

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

  1. 00:02

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

  2. 00:18

    בואו נגיד למשתמש enter text to search, נגדיר שאנחנו אפילו לא יורדים שורה פה. ניקח סטרינג טקסט וקונסול read line, נגדיר פה סימן קריאה, כי בטוח המשתמש הולך להכניס טקסט שהוא לא נל, ונייצר לעצמנו את אותו קונטקסט, הנה הוא, בואו נשים אותו פה, ואנחנו רוצים לקרוא ל-stored procedure ולהציג

  3. 00:45

    את הנתונים שמוחזרים. db.gifts.from sql, בואו נשתמש כרגע ב-sql raw שהשתמשנו בעבר, ואנחנו רוצים לתת איזשהו טקסט כזה, בואו ניתן פה את search gifts, אפשר גם execute search gift, אבל לא חייבים את ה-execute, אפשר בלי זה.

  4. 01:14

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

  5. 01:31

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

  6. 01:45

    יש לנו כאן פידג'ט ספינר, רד בימבה, מגניב. בואו נוסיף עוד איזה מתנה, fast Fidget for kids, נגיד שהוא עולה 30 וkids זה קוד 2. אז בכוונה הוספתי עוד מתנה שיש לה את המילה Fidget אפילו פה איפשהו באמצע כי אם אני מחפש Fidget אני מצפה לקבל רק את שני החבר'ה האלה.

  7. 02:09

    בואו נייצר לעצמנו רגע שאילתא שבשאילתא אנחנו רוצים לבדוק את ה-Stored Procedure. השם של ה-Stored Procedure היה Search Gifts ואנחנו רוצים לשלוח לו מחרוזת Fidget. שימו לב שמחרוזת בשפת sql מגיעה עם גרש גרש.

  8. 02:26

    אז אם אנחנו נריץ את זה אנחנו נקבל את שני הפידג'ט ספינר שלנו. אז בואו נחזור בחזרה לתוכנית שלנו ויש לנו כאן את הקריאה הזאת יש לנו פה את ה-search

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

ההרצאה הקודמת: יצירת Stored Procedure - Entity Framework Core

ההרצאה הבאה: התקפת SQL injection

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

  • שימוש ב-Entity Framework - חלק 1
  • הכל על Stored Procedure
  • קריאה ל-Stored Procedure
  • הסבר על Console - דוט-נט Framework vs Core

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

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