
add gift 2.sql עם insert into gifts ושלוש העמודות Name, Price ו-AgeGroupID, עם הערכים Jack in a Box, 20.5 וקבוצת גיל 2.db.database.ExecuteSqlRaw עם המחרוזת. אם השאילתה שגויה, התוכנה קורסת. בהרצה הראשונה היה בשאילתה שם עמודה שגוי, ותוקן.int, מספר הרשומות שהושפעו (affected rows). כאן הערך הוא 1.db.database.ExecuteSqlRaw(sql)truncate או create.הטקסט המלא של הדקות הראשונות בהרצאה «הרצת שאילתת SQL לעדכון הנתונים ב-Entity Framework Core» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
Entity framework נותנת לכם גם את האפשרות להריץ שאילתות sql אמיתיות, כלומר raw queries. למה? אולי יש לי איזה סקריפט מסוים שאני רוצה להריץ אותו בלי להתעסק עם ה-ORM, אולי יותר נוח לי לפעמים לעבוד בצורה כזאת.
יש בעצם שתי אפשרויות, אפשרות להריץ insert, update ו-delete ואפשרות להריץ selecting. בואו נראה קודם כל איך אנחנו מריצים insert, ודיליט כאשר השאילתה היא row SQL. בואו נבנה לעצמנו איזושהי פונקציה.
ניקח האמת את הפונקציה של ההוספה כי אנחנו בעצם רוצים להוסיף אבל זה אותו הדבר יהיה עבור עדכון או מחיקה. בואו נגדיר שאנחנו רוצים to add a gift נקרא לה שתיים כי כבר יש לנו אחת כזאת ובואו ניקח את זה נוריד רגע.
ניקח את add a gift time יש לנו פה adding a gift. יש לנו פה את הcontext ומה שאנחנו רוצים אנחנו לא רוצים להתחיל להתעסק עם זה אנחנו רוצים להריץ שאילתת sql אמיתית בואו ניקח string sql ונכניס שאילתה רגילה השאילתת הוספה זה insert into ובואו נגיד שאנחנו בגיפטס לתוך name, Price ו-Age Group ID. אנחנו רוצים להוסיף
את ה-Values. שם של מתנה, בואו ניקח Jack in a Box. נגיד שזה עולה 20.5 ונגיד שזה שייך ל-Age Group 2. יש לנו כרגע שאילתא. אנחנו רוצים עכשיו לפנות ל-db.database, שאילתות מועצות ברמת הדאטאבייס במקרה הזה ולאחר מכן execute sql raw.
נותנים לה את הsql והיא פשוט מריצה את השאילתה בדאטאבייס. כמובן שאם השאילתה לא נכונה אז תתבצע קריסה. מה הפונקציה מחזירה לנו?
אם אני אסתכל רגע מה הפונקציה מחזירה, היא מחזירה אינטג'ר. האינטג'ר שהיא מחזירה זה פשוט כמה רשומות הושפעו מהשאילתה.