PracticU

שימוש במחלקת ה-Service

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

שימוש במחלקת ה-Service
אחרי שנבנה CustomersService, ההרצאה מפעילה אותו בפונקציית בדיקה ובודקת מול הדאטה בייס שכל פעולות הלוגיקה עובדות.
השלבים העיקריים
1. פונקציית בדיקה: כותבים פונקציה סטטית TestCustomersService. הפרויקט כולו רק מדגים יכולות של Entity Framework Core, ולכן הבדיקה נעשית ב-Program.
2. יצירת השירות: במקום אובייקט קונטקסט יוצרים אובייקט CustomersService בתוך using. בגלל ה-IDisposable, בסוף הפונקציה נקרא Dispose והמשאבים של ה-DB משתחררים.
3. הוספה: קוראים ל-AddCustomer בגרסה שמקבלת פריטים בודדים, ומוסיפים את Bart Simpson, Lisa Simpson ו-Homer Simpson. הטבלה הייתה ריקה לפני כן, ואחרי ההרצאה מופיעים בה שלושת הלקוחות.
4. עדכון: מחפשים את ליסה לפי אימייל עם GetCustomerByEmail, לא לפי ID קבוע. אם נמצאה (לא null) משנים את האימייל ל-[email protected] וקוראים ל-UpdateCustomer. בדאטה בייס רואים את האימייל החדש.
5. מחיקה: מחפשים את הומר לפי אימייל, ואם קיים קוראים ל-DeleteCustomer עם ה-ID שלו. אחרי refresh הוא נעלם מהטבלה.
שימו לב
- את שורת ההוספה מסמנים כהערה אחרי ההרצאה הראשונה, כי אסור להוסיף לקוח שכבר קיים עם אותו אימייל.
- המרצה בודק את העדכון והמחיקה באמצעות חיפוש לפי אימייל, כי הוא לא רוצה להניח מה ה-ID שנוצר.
בסוף ההרצאה אפשר להשתמש בשירות שנבנה בכל מקום בפרויקט כדי לבצע את הפעולות הלוגיות הדרושות.
השיעור הבא בקורס: הוספת לוגיקה במחלקות Model

פרקי ההרצאה: שימוש במחלקת ה-Service

  1. 00:00

    פונקציית בדיקה למחלקת ה-Service

  2. 00:41

    יצירת האובייקט עם using

  3. 01:19

    הוספת לקוחות לדאטאבייס

  4. 02:00

    מעבר לעדכון לקוח

  5. 02:42

    חיפוש לקוח לפי אימייל

תמלול ההרצאה: שימוש במחלקת ה-Service

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

  1. 00:02

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

  2. 00:22

    אנחנו רוצים לבדוק את המחלקה הזאת, ויש לנו פה static, void, test, customers, service, בצורה כזאת. בואו נציג פה קודם כל איזושהי הודעה, מה אנחנו רוצים לעשות? קודם כל אנחנו רוצים to add customers.

  3. 00:37

    נייצר פה את ה-context, אבל אני לא מייצר אובייקט קונטקסט, אני מייצר אובייקט מסוג ה-customers service. בגלל שיש לו i-disposable אז אני יוצר אותו על ידי using customers service, נקרא לו customers service שווה new בצורה כזאת וה-using יגרום לזה שבסיום השימוש בו בתוך הפונקציה המערכת אוטומטית תקרא

  4. 01:05

    לדיספוז של iDisposable ואז אנחנו נשחרר את המשאבים של ה-DB כאילו שמקודם בנינו את זה בתוך הפונקציה. בואו נוסיף כמה לקוחות customers, service.addCustomer, בואו נשתמש עם הפונקציה כרגע שמקבלת פריטים בבודדת ונוסיף את Bart Simpson, E-Mail, היא כמובן קוראת לפונקציה שמוסיפה ObjectCustomer,

  5. 01:29

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

  6. 02:00

    הנה יש לנו את כל הנתונים שנמצאים בטבלה. הדבר הבא שאנחנו רוצים לבדוק זה יהיה Update Customer. בואו נעדכן לקוח אחד ונקבל אותו, אני לא רוצה לקבל אותו לפי ID קבוע, כאילו אני לא יודע מה ה-ID שלו, אני לא רוצה להגדיר ש-ID זה 3 או 2 או 7.

  7. 02:20

    אז בואו נעשה חיפוש. בואו ניקח Customer, נקרא לו Customer to App. קסטומר סרוויס נקודה, פיינד, קסטומר, למה אין לי פיינד? קראתי לפונקציה הזאת, גט קסטומר באי-אימייל, אורייט, אימייל, ואנחנו רוצים לחפש, בואו נחפש את ליסה, lisa.gmail.com, זה אימייל שאמור להיות לנו, ואנחנו רוצים לבצע בדיקה האם הוא נמצא כן

  8. 02:45

    או לא, אם קסטומר to update לא שווה ל-NAL, יש לנו קסטומר כזה ואנחנו רוצים לראות איך אנחנו מעדכנים אותו, בואו נשים את זה פה האמת ויש לנו customer to update email נניח

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

ההרצאה הקודמת: הוספת פעולות CRUD - קריאה - הוספה - עדכון - מחיקה

ההרצאה הבאה: הוספת לוגיקה במחלקות Model

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

  • Service Throttling
  • Create Service
  • Angular 4 - Service
  • מה זה Web Service

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

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