PDA

View Full Version : نحوه انجام rollback در entity framework



na3er-faraji
سه شنبه 30 خرداد 1391, 12:56 عصر
کسی از دوستان ساختار کلی rollback در معماری EF رو میگه چه جوریه؟

mehdi.mousavi
سه شنبه 30 خرداد 1391, 13:32 عصر
کسی از دوستان ساختار کلی rollback در معماری EF رو میگه چه جوریه؟

سلام.
متود SaveChanges خودش Transaction ای ایجاد میکنه و کلیه عملیات درج و بهنگام سازی اطلاعات رو در اون Transaction هندل میکنه. البته خوشبختانه شما می تونید از TransactionScope (http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx) نیز برای Enlist شدن Transaction مورد نظر در لیست ambient transaction ها نیز استفاده کنید و کنترل اون transaction رو در اختیار بگیرید. همچنین بسته به شرایط، ممکنه مایل باشید بخشی از Transaction رو دوباره اجرا کنید، اما می بینید که متود SaveChanges تغییرات رو از بین برده. در چنین شرایطی، پارامتر اول متود SaveChanges رو false میدید، تا تغییرات Context از بین نره و اگر Transaction موفقیت آمیز بود، اونوقت خودتون AcceptAllChanges رو فراخوانی می کنید.

موفق باشید.