2012-06-11 8 views
12

एंटीटी फ्रेमवर्क में लिंक-टू-एसक्यूएल और SaveChanges में SubmitChanges के बीच तकनीकी अंतर क्या है?एंटीटी फ्रेमवर्क में लिंक-टू-एसक्यूएल और सेव चेंज में सबमिट चेंज के बीच तकनीकी अंतर क्या है?

हम जानते हैं SubmitChangesDataContext कक्षा के लिए एक अवधारणा है जबकि SaveChangesObjectContext का एक तरीका है।

क्या कोई और अंतर है?

धन्यवाद

+2

यह मूल रूप से एक ही बात नहीं है - केवल कोड के दो विभिन्न पुस्तकालयों के लिए। एक कार्यात्मक दृष्टिकोण से: दोनों पहले डेटा के एक सेट में किए गए सभी परिवर्तनों को निर्धारित करते रहेंगे और फिर उन परिवर्तनों को लगातार स्टोर (डेटाबेस, डेटाबेस) में सहेज लेंगे। –

उत्तर

26

MSDN से:

SaveChanges एक सौदे के भीतर चल रही है। SaveChanges कि लेनदेन वापस रोल और अगर गंदा ObjectStateEntry वस्तुओं के किसी भी कायम नहीं किया जा सकता

SubmitChanges एक सौदे शुरू होता है और एक अपवाद तब होता है, जबकि SubmitChanges निष्पादित हो रहा है, तो वापस रोल होगा एक अपवाद फेंक देते हैं। हालांकि, यह डेटा में सुधार या डेटाकॉन्टेक्स्ट द्वारा ट्रैक किए गए परिवर्तनों को वापस नहीं लाता है; उन परिवर्तनों को मैन्युअल रूप से वापस रोल करने की आवश्यकता होगी। यदि स्मृति में परिवर्तनों को त्यागना है तो आप DataContext के एक नए उदाहरण से शुरू कर सकते हैं।

संबंधित मुद्दे