我无法在任何地方找到任何信息。.net核心中是否有DBSet.UpdateAsync()和RemoveAsync()?
有ToListAsync(),
AddAsync()
多,但找不到任何文件有关UpdateAsync()
或RemoveAsync().
有谁知道这事?
我无法在任何地方找到任何信息。.net核心中是否有DBSet.UpdateAsync()和RemoveAsync()?
有ToListAsync(),
AddAsync()
多,但找不到任何文件有关UpdateAsync()
或RemoveAsync().
有谁知道这事?
ToListAsync
存在,因为它实际上使EF头关到数据存储检索数据。这可能需要一段时间,因此您可以异步调用它。
AddAsync
但是,只开始跟踪实体,但实际上不会发送任何更改到数据库,直到您拨打SaveChanges
或SaveChangesAsync
。除非你知道你在做什么,否则你不应该使用这种方法。该方法的异步版本存在在docs解释的原因:
此方法是异步只允许特殊值发生器,例如由“Microsoft.EntityFrameworkCore.Metadata.SqlServerValueGenerationStrategy.SequenceHiLo”所使用的一个,异步访问数据库。对于所有其他情况,应使用非异步方法。
因此'AddAsync'可以从服务器获取一个自动生成的值(自动增量键等),而不调用'SaveChanges'例如? –
@AlexanderDerck我相信这是在你使用[sequences](https://msdn.microsoft.com/en-us/library/ff878058.aspx)时使用的,因为你可以在插入表之前从它们获得一个数字。如果不先保存更改,您将无法获得自动递增的密钥。 – DavidG
,或者可以使用小巧精致的ORM
SaveChangesAsync是您正在寻找的。 – DavidG
所以,我调用dataset.Update()然后dataset.SaveChangesAsync()? –