סיכום הרצאה: Introduction to ADO.NET Entity Framework
ההרצאה
הראשונה אליה הלכתי היום, היום
השני לטק-אד אילת
2008, הייתה
introduction to the ADO.NET Entity Framework. בהרצאה,
דיבר בחור בשם פבלו
קסטרו (למיטב
זכרוני, חבל ששמות
המרצים לא כתובים בדפ האגנגדה), מצוות
הפיתוח.
בהרצאה
פבלו הסביר, תוך
כדי דוגמאות על מה בדיוק מדובר – מי נגד
מי. הוא בעיקר
התעסק בנושא שוב מאד, איך
לקסטם ולהתאים את האנטיטי פרימוורק כך
שיתאים לפרוייקט שלך.
כידוע,
בבסיסו האנטיטי
פרימוורק מאפשר לנו לעבוד מול אובייקטים
המייצגים ישויות מידע שאינם בהכרח חופפים
במבנה למבנה הטבלאות שבמסד הנתונים.
העבודה
בצורה הזאת מתאפשרת די ישירות מהקופסא
באמצעות דיזיינר נוח ועבודה עם שאילתות
LINQ מול אותן
הישויות, כאשר
נותנים למנגנון האוטומטי לבצע את הכל לפי
הגדרות דיפולטיות. אולם
לעיתים ייתכן שיהיה צורך בקיסטום נוסף.
האנטיטי פרימוורק,
נבנה במחשבה רבה על
הקיסטום הזה. החל
מהגדרה שפעוות מסויימות יתבצעו רק דרך
SP מתאים בDB
שנכתב על ידנו,
ועד להגדרת שאילתות
באופן ידני.
התמיכה
במודל הפרוביידרים, מאפשרת
לעבוד גם מול כל מסד נתונים שיש לו פרוביידר
דוט.נטי.
בהרצאה
גם הוזכר ESQL, אבל
אפשר היה להבין שפבלו לא בעד שימוש בזה
ככלי עיקרי לתשאול ישויות, אלא
ב LINQ.
אחת
הנקודות היותר מעניינות עלתה דווקא בשאלות
מהקהל – מהו ההבדל בין LINQ TO SQL לאנטיטי
פרימוורק? האם
הראשון הוא רק מקרה פרטי של השני?
התשובה
של פבלו הייתה שאין זה כך ואלה פשוט כלים
ל scenarios שונים,
והוא הסביר גם למה,
בקצרה L2SQL הוא
למקרים יותר "קלים"
פחות למקרי אנטרפרייז.
שאלה
נוספת הייתה לגבי היתרונות, אם
קיימים, מול כלי
ORM שונים. פה
פבלו מאד נזהר שלא להשמיץ או לפגוע בכבודן
של המתחרים, אבל
ציין כמה יכולות שאין למתחרים, ונובעות
מכך שכלי הORM של
מיקרוסופט הוכנסו כחלק מהתשתית ומשתלבים
בכל שאר המארג בצורה טבעית.