ef core 使用AddAsync后还要调用savechangeasync才能使新增条目落库吗为什么
是的,EF Core 使用 AddAsync 方法添加的实体对象只是添加到上下文中的对象集合中,并没有立即将它们写入数据库中。需要调用 SaveChangesAsync 方法才能将其保存到数据库中。
原因是 EF Core 采用了“Unit of Work”模式,即将所有对数据库的操作都视为一个工作单元。在工作单元中,需要将所有对实体对象的修改、删除、新增等操作都保存到一个事务中,最后一并提交到数据库中。因此,只有在调用 SaveChangesAsync 方法时,EF Core 才会将所有的操作统一写入到数据库中。
另外,EF Core 也支持在事务中执行多个操作,例如添加多个实体对象,更新多个实体对象,删除多个实体对象等,这些操作会在同一个事务中提交到数据库中,保证数据的一致性。因此,在 EF Core 中,需要在 AddAsync 后调用 SaveChangesAsync 方法才能将新增的实体对象写入数据库中并保证数据的完整性。
原文地址: https://www.cveoy.top/t/topic/fQ30 著作权归作者所有。请勿转载和采集!