Entity Framework Core Tutorial SaveChangesAsync
Вступление
Асинхронное сохранение позволяет избежать блокировки потока, пока изменения записываются в базу данных. Это может быть полезно, чтобы избежать зависания пользовательского интерфейса приложения толстого клиента. Entity Framework Core предоставляет DbContext.SaveChangesAsync()
в качестве асинхронной альтернативы DbContext.SaveChanges()
.
public static async Task AddCustomerAsync(string firstName, string lastName, string address) { using (var context = new MyContext()) { var customer = new Customer { FirstName = firstName, LastName = lastName, Address = address }; context.Customers.Add(customer); await context.SaveChangesAsync(); } }
- EF Core не поддерживает несколько параллельных операций, выполняемых на одном и том же экземпляре контекста.
- Вы должны всегда ждать завершения операции, прежде чем начинать следующую операцию.
- Обычно это делается с помощью ключевого слова await в каждой асинхронной операции.