ใครช่วยบอกหลักการของวิธีที่ TransactionScope รับประกันความสมบูรณ์ของข้อมูลในฐานข้อมูลต่างๆ ให้ฉันฟังหน่อยได้ไหม ฉันคิดว่ามันจะส่งคำสั่งไปยังฐานข้อมูลก่อนแล้วจึงรอให้ฐานข้อมูลตอบสนองก่อนที่จะส่งข้อความถึงพวกเขาเพื่อใช้คำสั่งที่ส่งไปก่อนหน้านี้ อย่างไรก็ตาม เมื่อการดำเนินการหยุดกะทันหันเมื่อส่งข้อความนำไปใช้ เรายังคงสามารถลงเอยด้วยฐานข้อมูลที่ใช้คำสั่งและฐานข้อมูลที่ไม่ได้ใช้งาน ใครช่วยให้ความกระจ่างเกี่ยวกับเรื่องนี้ได้บ้าง?
แก้ไข:
ฉันเดาว่าสิ่งที่ฉันถามคือฉันสามารถพึ่งพา TransactionScope เพื่อรับประกันความสมบูรณ์ของข้อมูลเมื่อเขียนไปยังฐานข้อมูลหลายแห่งในกรณีที่ไฟฟ้าดับหรือปิดเครื่องกะทันหัน
ขอบคุณบาส
ตัวอย่าง:
using(var scope=new TransactionScope())
{
using (var context = new FirstEntities())
{
context.AddToSomethingSet(new Something());
context.SaveChanges();
}
using (var context = new SecondEntities())
{
context.AddToSomethingElseSet(new SomethingElse());
context.SaveChanges();
}
scope.Complete();
}