最近我做了更新一些代碼,通過添加實體框架來更改它,直到現在我一直使用批量複製沒有問題,但現在我有問題找到一個好的選擇。使用實體框架的Updatet批量插入替代方案?
我必須在數據庫中插入一堆數據,現在我正在解析數據表中的所有數據,然後進行批量插入。插入它必須只在一個表中有10列,並且要插入的行可能在1000到5000之間變化,可能更多但可能沒有更多7000.我用tha數據「MyTable」準備的表格,和數據庫表「MYDB_CONTENT」:
using (Oracle.DataAccess.Client.OracleBulkCopy bulkCopy = new Oracle.DataAccess.Client.OracleBulkCopy(dbConnectionString))
{
// The DBtable I'm loading the data to
bulkCopy.DestinationTableName = "MYDB_CONTENT";
bulkCopy.BatchSize = csvData.Rows.Count;
bulkCopy.BulkCopyTimeout = 30;
//Load the data to the database
bulkCopy.WriteToServer(MyTable);
// Close up
bulkCopy.Close();
bulkCopy.Dispose();
Console.WriteLine("Press Enter to finish.");
Console.ReadLine();
}
dbconn2.Close();
我一直在閱讀有關,我看到了一些與此相關的是老問題,但似乎就在這個時候「批量」尚未在EF實現除對於一些定製的庫,我不確定是否允許我在代碼中使用這些庫,其他選項不是免費的。也一直試圖用Managed DataAccess版本更改Oracle.DataAccess.clietnt,但由於插入次數的原因,它似乎不是一個好主意。我一直在閱讀EF的表現,對於大插入來說不是很好,因爲這是分段插入的一部分,可以像這樣一個序列地插入4到10個插入,加上其他的東西,所以這將是很好的時間如果可能的話,這個數字不會很高......
有些建議可以真正感謝,也許一些簡單的代碼會很棒!
謝謝您的幫助和地方像這樣讓新手可以學習和繼續:)
我幾天後再次takingthe問題,只是一個想法,也許有可能解決「批量」裏面的代碼的整合,但是這似乎產生問題與圖書館。該錯誤表示Oracle庫存在不兼容問題。任何想法如何解決這個問題?也許這很容易,我會保持良好的散裝時尚的方式插入... – Juano