Q:

Update an entity in ef core w/o querying it specifying the alternate key?

I want to update an entity (without requesting it) by just specifying the alternateKey. Is this possible?
using (var db = GetContext())
using (var transaction = db.Database.BeginTransaction())
{
    // [...]

    var status = new ImportStatus();
    status.ID = 201;  // don't know the real PK. With PK it works!
    status.Symbol = symbol; // this is the alternateKey
    status.DateLastImport = DateTime.Now;

    db.Attach(status);
    db.Entry(status).Property("DateLastImport").IsModified = true;

    await db.SaveChangesAsync(cancellationToken);
    await transaction.CommitAsync(cancellationToken);
}

A:

Try using DbContext.Entry() to explicitly set the state and it should work:
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);
}

EDIT:
There is a breaking change in EF Core 3.0, the solution proposed here won't work: if PK is unset the entity will be considered Added even though you explicitly set the persistent state. More info here

