DCSIMG
LinqToSql - Save just the last change - שלמה גולדברג (הרב דוטנט)

שלמה גולדברג (הרב דוטנט)

מרצה בסלע ויועץ בעולם ה - net.

LinqToSql - Save just the last change

 

מישהו חביב בשם נריה שאל אותי את השאלה הבאה:
 
"יש לי אפליקציה חלונאית, ובה dataGridView המקבל את הנתונים ע"י Binding  מ DataContext.
ואני רוצה כפתור שישמור רק את השינוי האחרון שבוצע."
 
באופן אישי לא יצא לי כל כך להשתמש עדיין ב LinqToSql, אבל כמובן שזאת הייתה הזדמנות נהדרת לבדוק את זה, וידוע שאני אוהב ללמוד דברים חדשים, אז התחלתי להסתכל..
 
בסוף עשיתי את הדבר הבא, עשיתי undo לכל השינויים האחרונים, חוץ מלאחרון, ואז שמרתי את השינוי האחרון.
הנה הקוד:

    1 public static void UpdateLastChanges()

    2 {

    3     ChangeSet cs = ndc.GetChangeSet();

    4     var listOfUpdates = cs.Updates.ToList();

    5     listOfUpdates.RemoveAt(listOfUpdates.Count - 1);

    6 

    7     ndc.Refresh(RefreshMode.OverwriteCurrentValues, listOfUpdates);

    8 

    9     ndc.SubmitChanges();

   10 }

 
זה עובד, אבל אני לא מרוצה מזה,
דבר ראשון, אני לא מעוניין לעשות undo, מה שאני רוצה לעשות, זה לשמור ב database רק את השינוי האחרון.
שנית, אני לא יודע האם הפעולה האחרונה הייתה, Insert, Update or Delete,
 
אם למישהו יש רעיון יותר טוב, אני ונריה נשמח מאוד לשמוע.
שלמה
פורסם: Jan 13 2009, 11:15 AM by Shlomo | with 2 comment(s)
תגים:, ,

תוכן התגובה

שלמה גולדברג כתב/ה:

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

# January 15, 2009 7:40 PM
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 2 and 8 and type the answer here:


Enter the numbers above: