ID でレコードをバッチ更新する必要がある Entity Framework プロジェクトを使用しています。ID (つまり、特定のテーブルの主キー) は実行時に利用できるので、次のクエリのようにすべてのレコードを更新したいと考えています。
UPDATE EntityTable
SET Column = @p0
WHERE EntityID IN '1,2,3,[...]'
私が直面している問題は、処理する必要がある約 60,000 の ID (最悪の場合) があり、データベース ソフトウェア (SQL Server 2008) がこれを処理できないことです。
クエリ プロセッサが内部リソースを使い果たし、クエリ プランを生成できませんでした。これはまれなイベントであり、非常に複雑なクエリ、または非常に多数のテーブルまたはパーティションを参照するクエリでのみ予想されます。クエリを簡略化してください。このメッセージを誤って受け取ったと思われる場合は、詳細についてカスタマー サポート サービスにお問い合わせください。
Google 検索を通じて、これを達成するために古い学校DataTable
とSqlDataAdapter
呼び出しを使用している人を見つけましたが、可能であれば Entity Framework の精神、または必要に応じて生の SQL の範囲内にとどまりたいと思います。合理的に効率的な方法でこれを行う方法はありますか?