• דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

Entity Framwork איזה פחד...

מתוזמן נעוץ נעול הועבר ארכיון code613m
9 פוסטים 3 כותבים 432 צפיות
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    כתב ב נערך לאחרונה על ידי
    #1

    אני מרחרח שוב (פעם חמישים וכמה :)) סביב העסק הזה...

    כעת אני הולך על Code First. בדרך זו (בשונה ממודל פירסט/דטה בייס פירסט), אין כלום חוץ מקוד שלי (אין קבצי XML וסכמות ומיפוי וקונקשיין סטרינג לא קריא...)

    מה אני רוצה ממכם? איחולי הצלחה 🙂

    פורסם במקור בפורום CODE613 ב25/03/2014 20:24 (+02:00)

    אפשר ליצור קשר dovid@tchumim.com

    תגובה 1 תגובה אחרונה
    0
  • רחמיםר מנותק
    רחמיםר מנותק
    רחמים
    כתב ב נערך לאחרונה על ידי
    #2

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

    פורסם במקור בפורום CODE613 ב25/03/2014 20:26 (+02:00)

    תוכנות שפיתחתי: חיפוש במסמכים, תוכנת עימוד, OCR, נקדן חינמי

    תגובה 1 תגובה אחרונה
    1
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    כתב ב נערך לאחרונה על ידי
    #3

    שיש פורום אחד שאני נמצא שם הרבה וכשיש שאלה על אנטיטי אני :twisted: :oops: :evil: 😐

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

    פורסם במקור בפורום CODE613 ב25/03/2014 20:42 (+02:00)

    אפשר ליצור קשר dovid@tchumim.com

    תגובה 1 תגובה אחרונה
    0
  • רחמיםר מנותק
    רחמיםר מנותק
    רחמים
    כתב ב נערך לאחרונה על ידי
    #4

    להתייאש בטח שאין לך מה, כי ברור שאנשים כמוני וכמוך כתבו את EF, ואם כן כל שכן שאנשים כמוני וכמוך יכולים 'רק' ללמוד איך להשתמש בו.
    EF לא עובד בכישוף, וגם אם הוא נובח הוא לא נושך כך שאין מקום לפחד כלל ... 😉

    על איזה מסד אתה מתנסה?

    פורסם במקור בפורום CODE613 ב25/03/2014 21:02 (+02:00)

    תוכנות שפיתחתי: חיפוש במסמכים, תוכנת עימוד, OCR, נקדן חינמי

    תגובה 1 תגובה אחרונה
    0
  • ש מנותק
    ש מנותק
    שמואל
    כתב ב נערך לאחרונה על ידי
    #5

    חשוב לי להגיב:
    כבר חודשים אני מתחנן כאן בפורום לעזרה באנטיטי ובקושי רב הצלחתי
    כיום אני עובד על אנטיטי וזה פשוט תענוג
    מה שכן אני הצלחתי לעבוד רק עם dataBaseFirst
    בנסיונות שלי עם codeFirst נחלתי קצת כשלונות
    לכאורה codeFirst יותר טוב כי אתה שולט בקוד שכתבת
    אבל לא נפגשתי עם זה שכ"כ קשה עם הקוד של הdataBaseFirst זה קצר וקריא
    כשאראה שאתם בקיאים בעניינים כבר אעלה לכאן את הקשיים שלי

    פורסם במקור בפורום CODE613 ב26/03/2014 12:03 (+02:00)

    תגובה 1 תגובה אחרונה
    1
  • dovidD מנותק
    dovidD מנותק
    dovid ניהול
    כתב ב נערך לאחרונה על ידי
    #6

    אז בא אתאר איפה אני אוחז:

    1. הורדתי והתקנתי את הגירסה האחרונה של EF (זמין או בתוספים או בהורדה נפרדת).

    2. פתחתי פרוייקט (לא Console אלא Wpf, העדפה אישית).

    3. קליק ימני על הפרוייקט Add... אח"כ New Item... ובחרתי בADO.NET Entity Data Model.

    4. הוא יוצר כמה דברים אוטומטית שעדיין לא עמדתי על טיבם (כמה שmagicode לא אוהב כאלו דברים!).

    5. בין היתר הוא יצר דף חדש בשם Model1. מחקתי בו הכל והתחלתי לכתוב:
      (הדוגמאות בVB, כי בה אני כותב, מי שרוצה תרגום של קטע לא ברור שיבקש ואתרגם בשמחה).

      Public Class Model
      Inherits DbContext

       Public Property Tormim As DbSet(Of Torem)
      

      End Class

      Public Class Torem
      Public Property Name As String
      End Class
      פשוט מאוד, נכון?

    6. עוד קוד קטן בשגרת לחיצה של כפתור בחלון WPF:

      Dim m As New Model()
      m.Tormim.Add(New Torem() With {.Name = "fsdfdsfsdf", .idt = Now.Millisecond})
      m.SaveChanges()

    7. הרצה ואופ. שגיאה. צריך מפתח לכל ישות. ובמחלקה שלי? אין.

    8. איך מגדירים במחלקת Torem מפתח ראשי? טוב אז בדוגמאות ברשת ראיתי שלא מגדירם ובכל אופן עובד להם. נו, אז חיקיתי את הדוגמה שלהם, בה יש מאפיין בשם id, והמנגנון של הEF מזהה לפי שמו שמטרתו לשמש כמפתח ראשי. נסיתי לשנות לככה:

      Public Class Torem
      Public Property id As Integer
      Public Property Name As String
      End Class
      עובד! כמה נחמד שהוא מבין לבד (מצד אחד לא כ"כ, אהה?). ומה אם אני רוצה ששם מאפיין המפתח יהיה שונה מid? או שיהיה מרובה שדות? או שיהיה שדה בשם id שלא משמשת כמפתח? אז בדקתי ברשת ומשתמשים בAttribut שונים למקרים כאלו ואחרים. לדוגמה, ככה יעבוד:

      Public Class Torem
      <System.ComponentModel.DataAnnotations.Key>
      Public Property MafteahRashi As Integer
      Public Property Name As String
      End Class

    9. אז מה אם זה עבד? איפה הוא שמר את העסק בכלל? טוב אז מחרוזת החיבור הדיפולטית היא זו:
      Data Source=(localdb)\v11.0;Initial Catalog=Entity.Model;Integrated Security=True;MultipleActiveResultSets=True
      ועוד לפני שממש קראתי מה כתוב בה החלטתי שאני לא ילד שמחליטים בשבילו, ואני רוצה לשים מחרוזת משלי.
      קצת בדקתי בעזרה, רחרחתי בApp.Config ומצאתי את המחרוזת. שיניתי אותה חגיגית, והרצתי שוב. הכל עבד, אבל כשפתחתי את המסד שלי, זה שציינתי במחרוזת, לא היה שם כלום.
      קצת היה מעצבן, ואז הבנתי, האלמנט בXML ששמו App.Config נראה ככה:

      <add name="Model1" connectionString="Data Source=Dovid1-pc;Initial Catalog=MyTests;Integrated Security=True" providerName="System.Data.SqlClient" />
      וזה נוצר אוטומטית בשלב 4. האריביוט Name התאים (אז...) לשם המחלקה שהוא יצר: Model1 אך אני קראתי למחלקה שלי Model. אז מבחינתו לא היה קונקשיין סטרינג מתאים אז הוא לקח (לא יודע מאיפה) את המחרוזת הרירת מחדל הזו. כששיניתי את האטריביוט Name לModel הכל הסתדר, ב"ה.

    טוב, התעייפתי. המשך יבוא...

    פורסם במקור בפורום CODE613 ב26/03/2014 15:52 (+02:00)

    אפשר ליצור קשר dovid@tchumim.com

    תגובה 1 תגובה אחרונה
    2
  • רחמיםר מנותק
    רחמיםר מנותק
    רחמים
    כתב ב נערך לאחרונה על ידי
    #7

    ראיתי שנוצר אוטומטית קובץ MDF ששמו כשם הפרוייקט בכתובת הבאה:
    C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA
    ושם נשמר הכל.

    פורסם במקור בפורום CODE613 ב26/03/2014 17:45 (+02:00)

    תוכנות שפיתחתי: חיפוש במסמכים, תוכנת עימוד, OCR, נקדן חינמי

    תגובה 1 תגובה אחרונה
    0
  • רחמיםר מנותק
    רחמיםר מנותק
    רחמים
    כתב ב נערך לאחרונה על ידי
    #8

    אתה יכול גם להגדיר את מחרוזת החיבור כך:

    m.Database.Connection.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DB.mdf;Integrated Security=True;User Instance=True"
    

    כמובן שבמקרה כזה אתה צריך ליצור קובץ DB.mdf בתיקיית היישום.
    דבר נוסף ששמתי לב כאשר פתחתי את המסד הוא ש-MafteahRashi קיבל ערכים של 1, 2 , 3 וכו' ולא כמו שהוגדר בקוד על אלפיות השניה.

    פורסם במקור בפורום CODE613 ב26/03/2014 19:02 (+02:00)

    תוכנות שפיתחתי: חיפוש במסמכים, תוכנת עימוד, OCR, נקדן חינמי

    תגובה 1 תגובה אחרונה
    0
  • רחמיםר מנותק
    רחמיםר מנותק
    רחמים
    כתב ב נערך לאחרונה על ידי
    #9

    @דוד ל.ט.

    1. קליק ימני על הפרוייקט Add... אח"כ New Item... ובחרתי בADO.NET Entity Data Model.
    2. הוא יוצר כמה דברים אוטומטית שעדיין לא עמדתי על טיבם (כמה שmagicode לא אוהב כאלו דברים!).
    3. בין היתר הוא יצר דף חדש בשם Model1. מחקתי בו הכל והתחלתי לכתוב

    ראיתי בנתיים שבמקום ליבא ואחר כך מחוק אפשר פשוט להוסיף הפניות ל 3 הרכבות:
    EntityFramework.dll, EntityFramework.SqlServer.dll
    שנמצאים בכתובת בכתובת: C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE

    ולהרכבה: System.ComponentModel.DataAnnotations.dll
    שנמצאת ברשימה הרגילה של הגדרת הפניות.

    פורסם במקור בפורום CODE613 ב26/03/2014 19:25 (+02:00)

    תוכנות שפיתחתי: חיפוש במסמכים, תוכנת עימוד, OCR, נקדן חינמי

    תגובה 1 תגובה אחרונה
    0

  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.