このように、(現在)約15k製品をインポートする必要があります。各製品には20個のプロパティーがあり、他の表に属する情報(この製品に使用されている倉庫など)もあります。同じ情報をたくさん保存するのを避けるために、私はアドレス、名前、およびIDを含むWarehouse-tableを作成しました。名前と住所は、私が実行したインポートに記載されています。EFで多くの相互接続されたデータをインポートする
データベースに既に存在する場合と存在しない場合がある、製品に関連する他の関連するデータがあります。
私は現在、これを行う方法は、私は彼らに来るよう、関連するエントリが存在し、そうでない場合、私は別のコンテキストを使用してデータベースに追加し、新しく生成されたエンティティのIDを返すかどうかをチェックすることです。実際の製品は、「メイン」コンテキストに追加され、すべてが追加された後に保存されます。
using (var context = new MyContext())
{
foreach (var product in productList)
{
CheckWarehouse(product);
CreateEntityFromProduct(product);
}
context.SaveChanges();
}
これはある程度データの電流量で動作んが、それはまだかなり遅いですので、私はこれについて移動する良い方法であるもの、思ったんだけど?:このような何か
並列実行できません。 – Eranga
'CheckWarehouse'と 'CreateEntityFromProduct'のコードはありますか? – Silvermind