10

I understand why EF have ToListAsync or SaveChangesAsync - because it waits for db operation execution. But AddAsync just returns Task.FromResult - so why is there the AddAsync method? And why should I use it?

Alex Zaitsev
  • 2,244
  • 4
  • 17
  • 23

1 Answers1

13

From the documentation:

This method is async only to allow special value generators, such as the one used by 'Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo', to access the database asynchronously. For all other cases the non async method should be used.

SqlServerValueGenerationStrategy.SequenceHiLo:

A sequence-based hi-lo pattern where blocks of IDs are allocated from the server and used client-side for generating keys.

See also What's the Hi/Lo algorithm?

Rui Jarimba
  • 10,350
  • 10
  • 55
  • 79