Если вам нужна самая последняя информация с точностью до миллисекунды, вы можете использовать транзакцию, построенную с TransactionOptions
, имеющим IsolationLevel
из Serializable
.
Это повлияет на производительность, так как заблокирует таблицу (или ее части), поэтому вам нужно выяснить, действительно ли вам это нужно.
В большинстве случаев, если вы выполняете чтение, вам не нужно оборачивать транзакцию вокруг него (при условии, что вы выполняете чтение только в одной операции).
Это действительно зависит от вашего приложения, какие данные ему требуются и как оно их использует.
Например, если вы выполняете чтение и в зависимости от результатов делаете запись или обновление, но очень важно, чтобы данные, которые вы только что прочитали, были текущими, вам, вероятно, следует объединить всю логику в одну транзакцию.