פורסם 2012 באפריל 813 שנים היי.יש לי בעיה מציקה ומוזרה כשאני מנסה לשמור נתונים לטבלה ב LINQ .הנתונים כנראה נשמרים כביכול באיזה שהוא באפר, אבל לא באמת נכתבים לטבלה.אם אני מנסה (באותה ריצה) להכניס שם משתמש שכבר קיים, אני מקבל שגיאה שהוא קיים. אבל אחרי יציאה וחזרה לתוכנית אפשר להכניס את אותו השם שוב...השדה username הוא ה Primary key של הטבלה.כשאני מסתכל על הטבלה אני לא רואה בשום שלב שהוא את הנתונים שהכנסתי. מצורף הקוד של הכנסת הנתונים. למישהו יש עצה?תודה רבה! user temp = new user(); temp.Username = tbUsername.Text; temp.Password = tbPassword.Text; temp.IsOnline = false; if (add == true) db.users.InsertOnSubmit(temp); else db.users.DeleteOnSubmit(temp); db.SubmitChanges();
פורסם 2012 באפריל 913 שנים מחבר תודה על התגובה.יצרתי Microsoft SQL Server Database File (SqlClient) ולא נזרקת לי שום שגיאה...כמו שציינתי, הנתונים נשמרים בהצלחה כביכול באיזה שהוא באפר ופשוט לא נשמרים לאחר יציאה מהתוכנית...
פורסם 2012 באפריל 1013 שנים ניחוש מושכל אומר לי שכנראה האובייקטים שאתה מנסה להכניס לא מסומנים כאילו הם עברו שינוי צריך לשחק עם הobjectstatemanager ולשנות את הערך של האובייקטים לmodified/new.
פורסם 2012 באפריל 1013 שנים אם זה entity framework זה משהו בסגנון הזה:user temp = new user(); //להכניס ערכיםuser.ObjectStateManager.ChangeFlags(StateFlags.NewObject)בlinq to sql לא אמורה להיות בעיה עם זה.רק דבר אחד שכדאי לחשוב עליו זה שאם אתה עובד עם DB מבוסס קבצים אז בכל קימפול הקובץ mdf מאופס.
פורסם 2012 באפריל 1013 שנים מחבר משום מה אין לי את ObjectStateManager ב user...רק עוד דבר - אם אני ניגש בצורה ידנית לטבלה ומוסיף ערכים הם כן נשמרים.
פורסם 2012 באפריל 1113 שנים אין לי נסיון עם linq אבל מתאור הבעיה נשמע כאילו אתה לא סוגר את ה-transaction בסוף הפעולה ולכן הנתונים לא נשמרים ב-db.
פורסם 2012 באפריל 1113 שנים מחבר לא מצאתי שום אפשרות שקשורה ל Transaction . הקטע המוזר הוא שלפי ה MSDN אני עובד כמו שצריך http://msdn.microsoft.com/en-us/library/bb386941.aspx
פורסם 2012 באפריל 1113 שנים מה הטיפוס של db? לא חסר לך db.SaveChanges? עריכה: לא שמתי לב שמדובר ב linq to sql, שכח מזה
פורסם 2012 באפריל 1113 שנים יש להניח שהבעיה בהגדרות של linq או במיפוי של הטבלה ל-linq. יכול להיות שלא מוגדר ל-linq ה-primary key של הטבלה?
פורסם 2012 באפריל 1113 שנים מחבר רק דבר אחד שכדאי לחשוב עליו זה שאם אתה עובד עם DB מבוסס קבצים אז בכל קימפול הקובץ mdf מאופס. מסתבר שזו הייתה הבעיה... הקבצים היו נדרסים בכל פעם. בלינק הזה מוסבר איך לגרום לקבצים לא להידרס... http://msdn.microsoft.com/en-us/library/ms246989.aspx תודה רבה לכולם!
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.