Кто-нибудь знает, как применить откат транзакции в объекте базы данных в .net c #?
Пример: у меня изначально следующий код:
protected void btnSave_Click(object sender, EventArgs e)
{
try {
m_test = CreateTest();
} catch{}
}
private Db.Test CreateTest()
{
var test= new Test();
test.Title = sTitle.SelectedValue;
test.FirstName = sFirstName.Text;
test.LastName = sLastName.Text;
test.PhoneHome = sHomePhone.Text;
test.PhoneWork = sWorkPhone.Text;
test.PhoneMobile = sMobile.Text;
test.EmailAddress = sEmail.Text;
test.Save();
return test;
}
Затем я пытаюсь применить транзакциюоткатить действие в коде и применить следующий код внутри ... тогда я укладываю под метод CreateTest.Я понятия не имел, как я мог применить код для объекта базы данных
protected void btnSave_Click(object sender, EventArgs e)
{
SqlConnection connDB = new SqlConnection();
SqlCommand cmdExecuting = new SqlCommand();
try {
connDB = new SqlConnection(connection_string);
cmdExecuting.Connection = connDB;
connDB.Open();
cmdExecuting.Transaction = connDB.BeginTransaction();
m_test = CreateTest(cmdExecuting);
if (m_test != 0) {
cmdExecuting.Transaction.Rollback();
return;
}
} catch{}
}
private Db.Test CreateTest(SqlCommand cmdExecuting)
{
var test= new Test();
test.Title = sTitle.SelectedValue;
test.FirstName = sFirstName.Text;
test.LastName = sLastName.Text;
test.PhoneHome = sHomePhone.Text;
test.PhoneWork = sWorkPhone.Text;
test.PhoneMobile = sMobile.Text;
test.EmailAddress = sEmail.Text;
test.Save();
return test;
}
Кто-нибудь знает, как я могу кодировать в CreateTest () в этом случае?