Как сделать последовательное выполнение транзакций в MS SQL Server
По сути я хочу добиться последовательного выполнения транзакций которые обычно выполняются параленльно. В коде C# я создаю транзакцию с помощью SqlConnection.BeginTransaction() и выполняю чтении из таблицы, а после делаю апдейт данных в этой же таблице. Закрываю транзакицю transaction.Commit(). В случае если метод где я делаю все эти манипуляции запускаеться в нескольких потоках мне нужно что бы транзакции выполнялись последовательно ожидая завершения друг друга, при этом нужно что бы таблица была доступна для чтения.
Использовать уровень изоляции seriazable не получилось так как возможна ошибка сериализации. Метод в котором я это делаю это контроллер asp.net core.
К слову, подобного эфекта мне удолась добится в postgresql там я использовал Exlusicve lock. Можно ли в MS SQL Server явно блокировать таблицы. Или другие идеи как решить эту задачу.