Я недавно обнаружил, что должен добавить в свой API «with (nolock)», потому что именно так строилась наша база данных, почти каждый запрос должен иметь с (nolock). Поэтому я провел небольшое исследование и нашел опцию «ReadUncommitted». Это первый раз, когда я использую транзакции, и я не уверен, что этот код все еще выполняется asyn c и удаляет все правильно.
public async Task<List<Model1>> GetModelDetailsAsync(List<Model2> model2List)
{
var transactionOptions = new System.Transactions.TransactionOptions();
transactionOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted;
var modelDetailList = new List<Model1>();
using (var context = new TransactionScope(TransactionScopeOption.Required, transactionOptions, TransactionScopeAsyncFlowOption.Enabled))
{
foreach (var model2 in model2List)
{
var modelDetail = await _context.Model1.FirstOrDefaultAsync(x => x.Awb == model2.Property);
modelDetailList.Add(var modelDetail = await _context.Model1.FirstOrDefaultAsync(x => x.Awb == model2.Property);
}
context.Complete();
}
return modelDetailList;
}