哪个更适合用于添加 IEnumerable 对象?

Which is better to use for adding IEnumerable object?

我找到了两种在存储库模式中对 IEnumerable 对象执行添加操作的方法。

首先是使用 .AddRange() 并在此处传递列表。要么 其次是将我的列表转换为数组并使用 .AddOrUpdate(ArrayObject).

如果我的意图是删除 IEnumerable 项上的 foreach 循环,使用哪个更好?请帮忙。

_context.DbSet<MyEntity>().AddOrUpdate(entities.ToArray());

或者

 _context.DbSet<MyEntity>().ToList().AddRange(entities);

AddOrUpdate 可以用一组新对象调用,所以你可以只创建一个 City[] 类型的数组并调用 context.CitySet.AddOrUpdate(cc => cc.Id, cityArray);一次。生成的SQL中应该有Where条件

如遇性能问题,请阅读以下内容

并查看以下内容:

context.BulkInsert(hugeAmountOfEntities);