2009-03-25 7 views
19

मुझे LINQ से SQL के साथ लेनदेन का उपयोग करने की आवश्यकता है और मैं इसके बारे में परिचित होने के लिए चारों ओर पढ़ रहा था।LINQ से SQL - क्या यह सच है कि सबमिटChanges() स्वचालित रूप से एक लेनदेन शुरू करता है?

यह सही है कि पहले से ही SubmitChanges transactioned है?

उत्तर

39

जब आप SubmitChanges फोन, LINQ एसक्यूएल को निर्धारित करने के लिए नई उदाहरणों उन्हें संलग्न किया गया है कि क्या ज्ञात वस्तुओं सेट जांच करता है। यदि उनके पास है, तो इन नए उदाहरण ट्रैक किए गए ऑब्जेक्ट्स के सेट में जोड़े गए हैं।

तुरंत किसी भी वास्तविक परिवर्तन का संचरण होता है से पहले, एसक्यूएल को LINQ एक सौदे व्यक्ति आदेशों की श्रृंखला को संपुटित करने के लिए शुरू होता है।

वस्तुओं में परिवर्तन SQL कमांड के लिए एक के बाद एक अनुवाद किया है और सर्वर के लिए भेजा जाता है।

इस बिंदु पर, किसी भी त्रुटि डेटाबेस द्वारा पता लगाया सबमिट करने की प्रक्रिया बंद कर, और एक अपवाद उठाया है। डेटाबेस में सभी परिवर्तन वापस लुढ़क गए हैं जैसे कोई सबमिशन कभी नहीं हुआ

इस दृश्य MSDN article अधिक जानकारी के लिए

आशा है कि इससे मदद मिलती है!