12

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,544
  • 5
  • 18
  • 27

1 Answers1

14

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
  • 11,166
  • 11
  • 56
  • 86