Попробуйте использовать DbContext.Entry () , чтобы явно установить состояние, и оно должно работать:
using (var db = GetContext())
using (var transaction = db.Database.BeginTransaction())
{
// [...]
var status = new ImportStatus();
status.Symbol = symbol;
status.DateLastImport = DateTime.Now;
//Explicitly setting the State should be all you need to do
context.Entry(status).State = EntityState.Modified;
await db.SaveChangesAsync(cancellationToken);
await transaction.CommitAsync(cancellationToken);
}
РЕДАКТИРОВАТЬ:
Там Это критическое изменение в EF Core 3.0, предложенное здесь решение не будет работать: если PK не установлен, объект будет считаться добавленным, даже если вы явно установили постоянное состояние. Подробнее здесь