В настоящее время я борюсь с простой проблемой SQL, которую, похоже, не могу решить с помощью «чистого» Entity Framework Core 2.2.
Как проверить, существует ли сущность во времявставить без выполнения следующего?
var entity = await _repository.Get(message.Id);
if(entity == null)
{
entity = new Entity ();
// do something with the entity
await _repository.AddAsync(entity);
}
else
{
// do something with the entity
await _repository.Update(entity);
}
await _repository.SaveChangesAsync();
Это недостаточно безопасно.Я постоянно получаю первичные ключевые нарушения.Моя служба работает на нескольких экземплярах, и в течение короткого периода времени я получаю сообщения с одинаковым первичным ключом.
Существует ли лучший и более безопасный способ проверить, существует ли сущность в Entity Framework Core, без записиСам SQL?