আমার একটি পড়ার ক্যোয়ারী রয়েছে যা আমি লেনদেনের মধ্যেই চালিত করি যাতে আমি বিচ্ছিন্নতা স্তরটি নির্দিষ্ট করতে পারি। কোয়েরিটি শেষ হয়ে গেলে আমার কী করা উচিত?
- লেনদেন প্রতিশ্রুতিবদ্ধ
- লেনদেনটি রোলব্যাক করুন
- কিছুই করবেন না (যা ব্যবহারের ব্লকের শেষে লেনদেনটি আবার ঘুরিয়ে দেবে)
প্রতিটি করে করার কী কী প্রভাব আছে?
using (IDbConnection connection = ConnectionFactory.CreateConnection())
{
using (IDbTransaction transaction = connection.BeginTransaction(IsolationLevel.ReadUncommitted))
{
using (IDbCommand command = connection.CreateCommand())
{
command.Transaction = transaction;
command.CommandText = "SELECT * FROM SomeTable";
using (IDataReader reader = command.ExecuteReader())
{
// Read the results
}
}
// To commit, or not to commit?
}
}
সম্পাদনা: কোনও লেনদেন ব্যবহার করা উচিত কিনা বা লেনদেনের স্তর নির্ধারণ করার জন্য অন্যান্য উপায় থাকলেও তা নয়। প্রশ্নটি হ'ল যদি কোনও পার্থক্য হয় যে কোনও লেনদেন যা কোনও কিছুর সংশোধন না করে প্রতিশ্রুতিবদ্ধ বা ঘূর্ণিত হয়। একটি পারফরম্যান্স পার্থক্য আছে? এটি অন্যান্য সংযোগগুলিকে প্রভাবিত করে? অন্য কোন পার্থক্য?