Перед фиксацией транзакции Entity Framework проверьте, существует ли запись - PullRequest
0 голосов
/ 19 июня 2020

У меня есть транзакция, и внутри нее я делаю следующее:

  1. BeginTransaction

  2. Добавление тестовой записи в базу данных

    var test_data = UnitOfWork.Tests.AddTest(scenario.FirstOrDefault(), fixture_data);
    
  3. Добавление записи шага в базу данных и сохранение изменений

  4. Проверить, существует ли тест в базе данных

    var test_scenario = StContext.Tests.FirstOrDefault(Test => Test.Title == test.Title);
    
  5. Сделайте еще что-нибудь и затем зафиксируйте транзакцию.

Проблема в том, что при проверке наличия теста в базе данных (даже если он еще не зафиксирован в базе данных ) он возвращает true, потому что я использовал метод SaveChanges() при добавлении шага

Есть ли способ проверить, существует ли запись в таблице в той же транзакции после добавления записи, сохранения изменений, но перед фиксацией транзакция?

Каким-то образом возвращается запись из памяти

...