多対多の関係で互いにバインドされている 2 つのクラスがあります。
public class A{
public int ID { get; set; }
public ICollection<B> bList { get; set; }
}
public class B{
public int ID { get; set; }
public ICollection<A> aList { get; set; }
}
ここでの問題は、A の新しいオブジェクトを作成し、bList を初期化し、3000 個のオブジェクトを bList に追加し、Context.SaveChanges() を呼び出すことです。しかし、それは本当に遅い操作で、50秒ほどかかりました.bListの各オブジェクトはすでにデータベースにあります. このインサートを改善するにはどうすればよいですか? SQL プロファイラーを調べたところ、A_ID と B_ID のペアごとに EF が挿入ステートメントを呼び出していることがわかりました。
ステートメントを使用して一度作成するたびにコンテキストを作成するわけではないことに注意してください。これに加えて、LazyLoading と AutoDetect = false を無効にしようとしましたが、どちらも機能しませんでした。
よろしくお願いします、
ケマル