डिफ़ॉल्ट रूप से, SaveChanges लेन-देन (डॉक्स में Remarks part देखें)
में निष्पादित करेंगे आप लेन-देन पर अधिक नियंत्रण चाहते हैं, तो आप लपेट कर सकते हैं अपने SaveChanges एक TransactionScope में ब्लॉक। SaveChanges तब आपके परिवेश लेनदेन को उठाएंगे और उस का उपयोग करेंगे।
यह तब उपयोगी हो सकता है जब आप एक वितरित लेनदेन चाहते हैं (उदाहरण के लिए एकाधिक संदर्भों के साथ या यदि आप डब्ल्यूसीएफ का उपयोग करते हैं)।
आप उल्लेख किया है कि आप विभिन्न मॉडलों का उपयोग करें, आप एक TransactionScope के भीतर दोनों ObjectContexts का उपयोग करें (और AcceptAllChanges साथ some logic का उपयोग करें) होगा
आपका कोड तो ऐसा दिखाई देगा:
using (TransactionScope scope = new TransactionScope())
{
//Do something with context1
//Do something with context2
//Save Changes but don't discard yet
context1.SaveChanges(false);
//Save Changes but don't discard yet
context2.SaveChanges(false);
//if we get here things are looking good.
scope.Complete();
//If we get here it is save to accept all changes.
context1.AcceptAllChanges();
context2.AcceptAllChanges();
}
स्रोत
2011-12-28 09:40:49
यूप मेरा जवाब मिला, धन्यवाद :) –