[英]Move large amount of data from old database to new database using Entity Framework 5
我正在創建一個應用程序,以將數據從舊數據庫移動到新數據庫(不同的架構)。 我正在使用Visual Studio 2013
, C#
, Entity Framework 5
, Microsoft SQL Server 2012
。 Customer
這個表有4萬多條記錄 。
private void TransferCustomer()
{
int counter = 0;
// Load all old customers
var oldCustomers = _oldRockDale.customers;
foreach (var oldCustomer in oldCustomers)
{
// Create new customer
...
// Modify something
...
// Add to collection
<New_database_entity>.Customers.Add(newCustomer);
// Insert to database for each 1000 records
counter++;
if (counter % 1000 == 0)
{
<New_database_entity>.SaveChanges();
}
}
// Insert the rest to database
<New_database_entity>.SaveChanges();
}
這是我的問題: 此功能運行的越來越慢。 對於前1000條記錄,大約只有20-30秒。 但是隨着它的發展,它變得越來越慢。 然后,需要超過1分鍾才能達到2000。
我的問題是:
更多信息:正如我在“ Output
窗口中觀察到的:
非常感謝你的幫助。
我認為這與DbContext的增長有關。
您可以利用以下職位:
基本上,您必須插入例如100行的部分,然后重置(再次設置,即_context = new SomeContext();
)每次插入之間的上下文。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.