私は以下のシナリオを想定しています:毎分賭け率を引き出し、すべてのイベント、マッチ、オッズなどをデータベースに格納してUIを更新するダミーのWebアプリケーションを構築しています。SQL Serverデータベースに膨大な数のエンティティを格納する
私はこのような構造を持っている:スポーツ>イベント>マッチ>賭け>オッズと私はコードの最初のアプローチを使用していますし、すべてのDB関連の操作のために、私はEFを使用しています。 〜16スポーツ、〜145回のイベント、〜675試合、〜17100の賭け&〜72824のオッズ:私は非常に最初の時間のために自分のアプリケーションを実行していますし、私のデータベースは、私が含まれているオッズでXMLを受け付けております空である
。
問題が発生しました:このエンティティをすべてタイムリーに保存するにはどうすればよいですか?パーシングは時間がかかる操作ではありません.0.2秒ですが、これらのエンティティをすべてバルク保存しようとすると、メモリの問題に直面し、保存が1分以上かかるので、次の奇妙なプルがトリガーされ、これが悪夢です。
私はConfiguration.AutoDetectChangesEnabled
を無効にして、私は挿入ごと100/1000、レコードの私の状況を再現するためにどこかで見ましたが、私はほとんど存在しないです。すべての提案は高く評価されます。事前
「私はほとんどそこにいません」という意味は、あなたが試してみたことがそれほどありませんでしたか?私は個人的にバルク操作で同様の問題に直面しましたが、 'Configuration.AutoDetectChangesEnable'とコンテキストの再作成は少し助けましたが、私は全く別の方法を見つけました。 –