我正在使用Azure SQL数据库,我想知道我可以一次插入多少条记录的限制。我有一个案例需要插入7000多条记录。
如果有限制,任何人都知道批量插入记录的好方法吗?
foreach (var records in records)
{
db.Records.Add(record);
}
db.SaveChanges();
答案 0 :(得分:1)
这个问题没有直接答案。当然,您可以插入的记录数量有限制。这取决于许多事情,如32 / 64bit /内存/数据库大小/事务大小/添加方法,以及生产情况下数据库中一个操作/事务锁中的记录数。您可以编写一些测试来检查有多大夹头必须像:fastest-way-of-inserting-in-entity-framework。或者您可以使用AddRange:Ef bulk insert。
db.AddRange(records);
db.SaveChanges();
您必须决定是否需要在一个事务中插入记录,或者您可以使用一些事务来保持表锁更小。