我正在使用 EF Core 插入条目,我注意到当我调试这行代码时context.MyEntityDbSet.AddRangeAsync(records)
加载需要一秒钟,而不是context.MyEntityDbset.AddRange(records)
它立即发生。调用时是否发生数据库调用AddRangeAsync
方法?它与AddRange
one?
据官方称EF Core 文档 https://learn.microsoft.com/en-us/dotnet/api/microsoft.entityframeworkcore.dbset-1.addrangeasync?view=efcore-2.1 AddRangeAsync(IEnumerable<TEntity>, CancellationToken)
应该与特殊值生成器一起使用,例如需要数据库往返的特殊值生成器。例如,如果您使用SqlServerValueGenerationStrategy.SequenceHiLo
为了提前分配 ID 块,当 EF 跟踪新实体时,它可能需要首先查询数据库并请求新的“Hi”(有关 Hi/Lo 算法的更多信息可以在此处找到)Hi/Lo 算法是什么? https://stackoverflow.com/questions/282099/whats-the-hi-lo-algorithm)。因此,当想法是将实体设置为Added
状态和SqlServerValueGenerationStrategy.SequenceHiLo
不需要,AddRange
用来。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)