PracticU

הגדרת SQL View
בתוך דוט-נט core

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

הגדרת SQL View בתוך דוט-נט core
כדי להשתמש ב-View צריך לייצג אותו במודל. ההרצאה מגדירה מחלקה ל-View ומחברת אותה ל-Context.
השלבים העיקריים
1. המחלקה: YoungGift ביחיד, public class, עם מאפיינים שזהים לעמודות שה-View מחזיר: Name (string), Price (decimal) ו-AgeGroupName. שמות חייבים להתאים בדיוק, כי התוצאות נקראות ישירות לתוך האובייקט.
2. Nullable: string יכול להיות null, ולכן אפשר לאפשר זאת, ו-decimal לא.
3. מאפיינים: כמו בטבלה האמיתית, StringLength של 100 לשם ולשם קבוצת הגיל, ו-Column מסוג money למחיר. זה חוסך אזהרות ובעיות.
4. בלי מפתח: ל-Entity Framework צריך מפתח, אבל ל-View אין. לכן מוסיפים את האטריביוט Keyless ברמת המחלקה.
5. ה-Context: מוסיפים DbSet<YoungGift> YoungGifts { get; set; }, ערוץ הגישה לתוצאות ה-View.
6. קישור ל-View: ב-OnModelCreating: modelBuilder.Entity<YoungGift>().ToView("YoungGifts"). זה אומר ל-EF שאין טבלה כזו ולחפש View בשם הזה.
שימו לב
בלי ToView EF ינסה לבנות מהמודל טבלה. בלי Keyless תתקבל שגיאה על היעדר מפתח ראשי.
אחרי ההרצאה תוכלו לייצג View קיים במודל של Entity Framework Core.
השיעור הבא בקורס: שימוש ב-View Entity Framework Core

פרקי ההרצאה: הגדרת SQL View בתוך דוט-נט core

  1. 00:00

    מודל שמייצג את ה-View

  2. 00:38

    הגדרת מאפייני המודל

  3. 01:42

    הוספת אטריביוטים למאפיינים

  4. 02:15

    הגדרת המודל כ-Keyless

  5. 03:09

    הוספת DbSet לקונטקסט

  6. 04:04

    סימון ה-View ב-OnModelCreating

תמלול ההרצאה: הגדרת SQL View בתוך דוט-נט core

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

  1. 00:02

    לצורך שימוש ב-view אנחנו צריכים לייצג אותו על ידי סוג של מודל. זה אומר שאנחנו צריכים עכשיו לגשת לאזור של המודלים ולבנות לעצמנו מודל שמייצג את אותו view.

  2. 00:17

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

  3. 00:45

    שאנחנו רוצים זה לחשוב מה בדיוק ה-view מביא לנו אז אם אנחנו נסתכל אנחנו נראה שה-view מביא name price וage group name זה בדיוק הדברים שאנחנו צריכים פה נבנה prop של name האמת שזה אמור להיות סטרינג, נבנה פרופ שאמור להיות כאן דצימל ופה אנחנו רוצים את הפרייס ונבנה פרופ סטרינג אג' גרופ נאם. חשוב כמובן שהשמות האלה יהיו בדיוק השמות שהוויו מחזיר מפני שאנחנו הולכים לקבל את

  4. 01:21

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

  5. 01:47

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

  6. 01:59

    או ה-name זה StringLengthEffרים אז נשאר בצורה אחידה h Group Name זה StringLengthEffרים, זאת אומרת אנחנו רוצים שאותם מאפיינים של העמודות האמיתיות יוגדרו גם אצלנו, כל הדברים האלה חוסכים לנו כל מיני הערות בקונסול כשאנחנו מייצרים את ה-view וחוסך עוד המון בעיות.

  7. 02:26

    דבר נוסף אם אנחנו נמצאים בטבלה רגילה חייב שיהיה לה איזשהו מפתח אם אנחנו נמצאים ב-view לא חייב שיהיה לנו מפתח אבל מבחינת entity framework הדבר הזה חייב מפתח לכן אנחנו רוצים עוד מאפיין אחד ברמה של ה-view שנקרא כלס זה אומר תתעלם אל תיתן לי פה שגיאה על זה שאין לי פה מפתח ראשי כי אני לא באמת טבלה אמיתית אני מעין טבלה

  8. 02:50

    וירטואלית כזאת לא צריך להיות לי מפתח ראשי גם אם היה לי כאן הייתי רוצה את ה-id אז לא לא הייתי חייב להגדיר שהוא יהיה מפתח ראשי ואין שום בעיה להגדיר את זה בצורה כזאת. אז זאת נקודה חשובה שחוסכת לנו שגיאה לאחר מכן ואחרי שהגדרנו את ה-young gift הזה שזה סוג של מודל מיוחד ל-view אנחנו עדיין צריכים לגשת לקונטקסט ולהוסיף שני דברים.

  9. 03:18

    דבר ראשון אנחנו צריכים שהקונטקסט יכיל גישה לאותו view זה נמצא פה public db-set מסוג young-gifts נקרא לו young-gifts יש לנו פה get ו-set והנה זה בעצם הערוץ שלנו לכל מה שנמצא ב-view שמוחזר מהדאטאבייס קודם כל הוא נותן לי פה איזושהי שגיאה למה הוא נותן לי שגיאה פה לא הוא לא נותן איך חסר לי

  10. 03:52

    enter כל אלה זה הטבלאות טייבל אלה views שאנחנו רוצים להתחבר אליהם מהדאטאבייס. הדבר הבא שאנחנו רוצים לבוא ולומר לקונטקסט זה שהדבר הזה הוא באמת view ולא טבלה רגילה, שלא ילך ולדוגמה יבנה לי מזה טבלה, וזה מתבצע ב-on-model-creating.

  11. 04:15

    אחרי שאמרנו לו מה זה ה-seed data שלנו, אנחנו באים לכאן ואומרים לו model-binder,

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

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

ההרצאה הבאה: שימוש ב-View - Entity Framework Core

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

  • יצירת Controller - דוט-נט Core
  • הסבר על Console - דוט-נט Framework vs Core
  • הסבר על WinForms - דוט-נט Framework vs Core
  • VIEW עם Check

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

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