データ アクセスに sqlserver コンパクト エディションとエンティティ フレームワークを使用している c# プロジェクトがあります。5000以上の大量の行をデータベースに挿入または更新する必要があるため、キーが存在する場合は、挿入しない場合はレコードを更新します。コンパクト エディションと EF を使用してこれを実行するには、恐ろしいパフォーマンスが必要です。つまり、コア i7 コンピューターで 2 分以上かかります。レコードを検索して、存在するかどうかを確認し、存在しない場合は挿入するか、存在する場合は更新しようとしましたが、検索はそのキラーです。検索クエリをコンパイルしてみましたが、わずかな改善しか得られませんでした。私が試したもう1つのことは、try catchにレコードを挿入し、更新に失敗した場合ですが、パフォーマンスキラーである最後とは対照的に、すべてのレコードで変更を保存して例外を取得することを強制します. 明らかに私はできます」コンパクト版なのでストアドプロシージャを使用しません。また、データベース上で何らかの方法で t-sql を直接実行することだけを見てきましたが、コンパクトにプロセスステートメントがないため、それが除外されているようです。私は世界中を探し回り、アイデアを探し出しました。展開の利点と、ユーザーがデータベースを掘り下げるのを防ぐ機能を過剰に表現できる場合は、コンパクトを使用したかったのです。どんな提案もいただければ幸いです。
ありがとう