সত্তা ফ্রেমওয়ার্ক 6 এর ডকুমেন্টেশনে আমি উত্তরটি পেয়েছি:
EF6 প্রবর্তনের সাথে সাথে মাইক্রোসফ্ট নতুন এপিআই পদ্ধতি ব্যবহার করার পরামর্শ দেয়: Database.BeginTransaction()এবং Database.UseTransaction()। যদিও System.Transactions.TransactionScopeএখনও খুব ভাল সমর্থন করা হয়েছে তবে EF6- র বেশিরভাগ ব্যবহারকারীর পক্ষে এটি আর প্রয়োজন হয় না ।
যদিও Database.BeginTransaction()কেবলমাত্র ডাটাবেস সম্পর্কিত অপারেশন লেনদেনের জন্য ব্যবহৃত হয় System.Transactions.TransactionScope, এটি ছাড়াও 'প্লেইন সি # কোড' এর জন্যও লেনদেন সম্ভব হয়।
সুতরাং, Database.BeginTransaction()EF6- এ লেনদেনের ক্ষেত্রে কেবলমাত্র ডিবি সম্পর্কিত ক্রিয়াকলাপগুলি ব্যবহার করুন অন্যথায় লেনদেনে System.Transactions.TransactionScopeডিবি ক্রিয়াকলাপ এবং সি # কোড একসাথে মিশ্রণের জন্য ব্যবহার করুন ।
যারা এখনও এই TransactionScopeপদ্ধতির পছন্দ করেন তাদের পক্ষে এটির সীমাবদ্ধতাগুলি পরীক্ষা করার পরামর্শ দেওয়া হয়, বিশেষত মেঘের দৃশ্যে (মেঘ পরিস্থিতি বিতরণ লেনদেন সমর্থন করে না)।
আরও তথ্য এখানে পাওয়া যাবে