
הטקסט המלא של הדקות הראשונות בהרצאה «הסבר על Entity Framework Core» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
בואו נבין קודם כל מה זה Entity Framework Core. לצורך כך אנחנו צריכים להבין מספר מונחים. קודם כל, מה זה בכלל .NET Core? אז .NET Core זה בעצם מערכת Open Source, כלומר, ניתן לראות את הקוד שמאחורה.
זה Cross-Platform, זה רץ בעצם על כל מערכות ההפעלה הגדולות, וזאת מערכת תכנותית לצורך בניית אפליקציות מודרניות. אפשר לבנות איתה אתרי אינטרנט, אפשר לבנות איתה אפליקציות חלוניות, וזה כולל בתוכו מערכת הערצה, שפת תכנות, ספריות, כלים לצורך בניית מגוון אפליקציות שמסוגלות לרוץ על Windows,
על Mac OS ועל לינוקס. בעבר המערכת הזאת נקראה .NET Framework. .NET Framework לא הייתה אופן סורס, .NET Framework לא יכלה לרוץ על Mac OS ועל לינוקס בצורה טובה לפחות.
מייקרוסופט ירדו ממנה ובנו ממש מחדש את .NET Core, שהיא גם אופן סורס וגם מסוגלת להיות קורוס פלטפורמה אמיתית ולרוץ על כל מערכות ההפעלה. אין יותר תמיכה בדוטנט פריימוורק, אם אתם לדוגמה רוצים לבנות פרויקט חדש, מתחילים איתו רק בדוטנט קור, וכמובן אנחנו הולכים לראות את אנטיטי פריימוורק על דוטנט קור.
המונח הבא שחשוב להבין זה מה זה ORM Object Relational Mapper. זה בעצם טכניקה שמתכנתים ממפים את המידע שבדטאבייס לאישויות Object Oriented בתכנות ואז במקום להתעסק ישירות עם ה-Database בשפת התכנות, לדוגמה במקום לבנות שאילתות SQL הם יוצרים אובייקטים כי למתכנת מאוד מאוד קל לייצר אובייקט.
אחרי שיש לי אובייקטים בודדים או קולקשנים אני פשוט יכול לעשות לדוגמה save ומערכת ה-ORM שמנהלת את הכל הופכת את האובייקטים האלה לשאילתות SQL או שמייצרת שאילתות SQL מהם, אם אני לדוגמה עובד עם מסד נתונים שעובד עם שפת SQL, ושומרות לבד ואוטומטית את המידע בדאטאבייס.
זאת אומרת שאנחנו בתור המתכנתים לא צריכים לעבוד ישירות עם הדאטאבייס אלא רק עם אובייקטים בקוד, מאוד מאוד נוח לנו. הספרייה או המערכת שמנהלת את כל הדברים האלה נקראת ORM.
אנטיטי פריימורק זה בעצם ה-ORM של דוטנט מאפשרת למתכנתים לעבוד עם מגוון דטאבייסים על ידי ייצוג המידע כאובייקטים כמודלים מאוד נוח לעבודה בדוטנט ככה אנחנו ניגשים לדטאבייסים.
אנטיטי פריימורק קור זה כמובן השדרוג של אנטיטי פריימורק שהייתה מיועדת לדוטנט פריימורק השדרוג לרוץ על מערכת דוטנט קור זה בעצם כמובן מערכת שהיא Cross-Platform, היא מסוגלת לעבוד על כל מערכות ההפעלה הגדולות, היא Lightweight, יותר קלה, יותר מהירה, יותר נוחה לעבודה גם
מ-NDT Framework הקודמת, וכמובן רצה על .NET Core, מאפשרת למתכנתים לעבוד בעזרת טכניקת ה-ORM במגוון מסדי נתונים. אם יש לנו איזשהו דאטאבייס, אז אנחנו בתור מתכנתים עובדים עם entity framework שהופכת את המידע לאישויות, מחלקות ואובייקטים.
אנחנו המתכנתים עובדים עם האובייקטים ו-entity framework שומרת את המידע לדאטאבייס או מביאה לנו אותו.
יש ב-entity framework וב-entity framework core מספר שיטות עבודה. דבר ראשון code first, זה בעצם טכניקה שבה מתכנתים בונים את האישויות הדרושות לדאטאבייס, בונים אותם קודם כל בקוד על ידי כמובן מחלקות ואז מהישויות האלה entity framework לאחר מכן יוצרת את הדאטאבייס,
את הסכמה של הדאטאבייס. זאת בעצם שיטת העבודה שאנחנו בתור מתכנתים קודם כל בונים את הקוד. זאת השיטה המומלצת היום לעבודה. שיטה נוספת נקראת database first.
בשיטה הזאת קיים לנו איזשהו דאטאבייס שנבנה ללא קשר ל.NET ואז אנחנו רוצים לבנות ממנו את האישויות בקוד שלנו.
אנטיטי פריימורק מסתכלת על הדאטאבייס הזה ועל ידי מנגנון שנקרא reverse engineering, היא יודעת איך להחזיר אלינו בחזרה את האובייקטים, או ליתר דיוק איך לבנות קוד או מחלקות שאיתם אנחנו מייצרים אובייקטים ועובדים מול הדאטאבייס.
אז בדאטאבייס first קיים דאטאבייס, אנטיטי פריימורק מחזירה לנו מחלקות, מייצרת או בונה לנו מחלקות מהדטאבייס שאיתם אנחנו מתחילים לעבוד. באנטיטי פריימורק גרסה הקודמת הגרסה הישנה היה עוד שיטת עבודה הייתה שנקראת מודל פרסט בשיטה הזאת המתכנתים יכלו לצייר בעצם את המודלים או את האישויות הדרושות ואז אנטיטי פריימורק הייתה יכולה לייצר מהם
גם את הדטאבייס וגם את הקוד.