2016-04-12 3 views
0

Я использую базу данных Azure SQL, и мне интересно, существует ли ограничение на количество записей, которые я могу вставить сразу. У меня есть случай, когда мне нужно вставить 7000+ записей.Сколько записей я могу вставить сразу

Если есть предел, кто-либо знает хороший способ вставки записей в партии?

foreach (var records in records) 
{ 
    db.Records.Add(record); 
} 

db.SaveChanges(); 

ответ

1

На этот вопрос нет прямого ответа. Конечно, существует ограничение на количество записей, которые вы можете вставить. Это зависит от многих факторов, таких как 32/64bit/Memory/DB size/transaction size/add method, к ef/количеству записей в одном блокировании действий/транзакций на вашем db в производственной ситуации и т. Д. Вы можете написать тест, который проверяет, насколько большой патроны должны быть такими: fastest-way-of-inserting-in-entity-framework. Или вы можете использовать AddRange: Ef bulk insert.

db.AddRange(records); 
db.SaveChanges(); 

Вы должны решить, если вам нужно вставить записи в одной транзакции или вы можете использовать номер транзакции, чтобы сохранить ваши блокировки таблицы меньше.

Смежные вопросы