Получить SQL из транзакции перед фиксацией - PullRequest
0 голосов
/ 09 мая 2018

Я занимаюсь разработкой проекта на C # с базой данных SQL Server.

Я хочу сохранить некоторую информацию в базе данных, когда запрос имеет какие-либо условия, поэтому моя идея заключалась в том, чтобы иметь общий метод, который запускает фиксацию транзакции и, если фиксация имеет требуемые условия, сохраняет информацию.

Мой вопрос: есть ли способ получить SQL-код транзакции непосредственно перед .commit()?

Например, что-то вроде этого:

public void insertInfo(object)
{
     using (Context context = new Context())
     {
         [Do an insert]
         [Do a second insert]
         [Do an update]     

         context.Save()
     }
} 

// In the Context
public void Save()
{
    [Here I want to get the SQL statement(s) that will be affected by the "transaction.Commit()"]
   transaction.Commit();
}

1 Ответ

0 голосов
/ 09 мая 2018

Нет, нет встроенной команды или функции, которая получает текущий код транзакции.

Вы можете создать его самостоятельно, создав строковую переменную, и каждый раз, когда вы выполняете команду в функции, вы добавляете ее в переменную, а затем читаете переменную при фиксации транзакции.

...