Я пишу приложение в реальном времени, где я получаю данные из последовательного порта, и мне нужно асинхронно сохранять их в базе данных. Вот фрагмент кода, который я использую:
private async Task SaveValToDb(ValueMonitored val, AppDbContext dbContext)
{
dbContext.ValueMonitored.Add(val);
await dbContext.SaveChangesAsync();
}
private void serialPortReader_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e){
.....
SaveValToDb(pam_val, db_main);
....
}
Однако это не приводит к асинхронной вставке в него. Я знаю это, потому что я измерил время, которое требуется, чтобы сделать это синхронно (при использовании SaveChanges ()), а затем в асинхронном режиме.
Я неправильно использую asyn c?