У меня есть метод асинхронного контроллера WebApi, который вызывает другой асинхронный метод, который сначала проверяет, не существует ли запись, и не добавляет ли она ее в базу данных.Проблема в том, что если я сказал, что 3 запроса приходят одновременно, все проверки на ноль происходят одновременно в разных потоках (я полагаю), и я получу 2 повторяющихся записи.Например:
public async void DoSomething()
{
var record = {query that returns record or null}
if (record == null)
{
AddNewRecordToDatabase();
}
}
... Это кажется очень распространенным явлением, и, может быть, я что-то упускаю, но как мне предотвратить это?Конечно, я должен попытаться заставить его создавать дубликаты, но это требование не разрешать делать это.
Заранее спасибо,
Ли