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