LINQ to SQL: Concurrency resolution -
इस LINQ को SQL को देखते हुए:
का प्रयोग (var db = Database.Context) { Var रूट = (पोस्ट से db.Post में जहां post.Id == रूट पोस्ट ID चयनित पोस्ट)। सिंगल (); Root.LastActivityUtc = DateTime.UtcNow; db.SubmitChanges (); }
क्या होगा अगर एक ही रिकॉर्ड एक ही विधि (जहां यह कोड रहता है) उसी कॉल के साथ एक ही कॉल से बदला जा सकता है? एक अपवाद फेंक दिया जाएगा?
इस तरह के एक घटना में - एकमत संघर्ष - मैं इसे बदलना आसान छोड़ना चाहता हूं ताकि सिर्फ पिछली गतिविधि के लिए एक अपडेट दोनों के बजाय प्रस्तुत किया जा सके, जो संभवत: वही मान हो सकता है।
आप अपनी संगामिति समस्याओं का पता लगा सकते हैं और हल कर सकते हैं, / P>
का उपयोग कर (var db = नया MyDataContext ()) {var root = (पोस्ट से db.Post में जहां post.Id == rootPostId पोस्ट का चयन करें)। सिंगल (); Root.LastActivityUtc = DateTime.UtcNow; कोशिश {db.SubmitChanges (); } पकड़ (चेंकन्फ्लिक्ट एक्स्प्शन) {db.ChangeConflicts.ResolveAll (रिफ्रेशमोड.किप चेंज); db.SubmitChanges (); }}
के साथ। KeepChanges आप अपने ग्राहक ऑब्जेक्ट के सभी बदलावों को रखेंगे, और अन्य फ़ील्ड के अन्य उपयोगकर्ताओं के परिवर्तन मर्ज किए जाएंगे।
अनुशंसित लेख: < / P>
Comments
Post a Comment