谢谢你提出的问题,由于视频剪辑的失误,把这两个操作的解释不小心删除了,不好意思,这几天我会尽快做一个勘误,把视频补充完整。不过也不用担心,不会影响接下来的学习。
我们使用的orm框架是entity framework core,在旧版的ef框架中add添加与remove删除都没有对应的异步接口,也就是说没有AddAsync与RemoveAsync。
不过,自从ef6开始,数据的添加操作也有异步操作了,AddAsync函数也有了,我们使用的ef是最新版,所以add添加也将会支持异步操作。我也会对视频内容做一个勘误。
下面简单聊一下为什么没有remove的异步操作。
与数据库的读取数据操作不一样(比如GetTouristRoutesAsync函数),不管是add还是remove都不会在被调用后直接向数据库写入数据,而是先把数据放在DbContext中,由一个叫做“ChangeTracker”的东西管理(暂时理解为内存),直到调用 _context.SaveChangesAsync()以后,数据才会被真正写入数据库中。
数据存入ChangeTracker(DbContext)的时候进行的是内存操作,并不是真正的IO操作,所有没有必要进行异步操作,这就是为什么add与delete不需要对应的异步函数。
那么,为什么最新版的ef又提供了add的异步操作AddAsync呢?
如果哪里没讲明白请继续提问,谢谢。