簡単に言えば、関連エンティティのリストを更新しようとしています。複合主キーと追加の制約があります (ある種の序数列は、RowNumber のように一意である必要があります)。ここで、コレクションに対してより複雑な編集を行う場合、たとえば、連続する RowNumbers を持つ 2 つのエンティティを並べ替えるなど、制約に違反するため、各行に更新を発行することはできません (その制約の有効性は今のところ脇に置きましょう。ポイントではありません)。
この場合は簡単だと思いました。エンティティを削除して再作成するだけです。EF は、削除後に同じエンティティが挿入されたことを検出するように見えることを除いて (同じままの主キーに基づいて)、削除 + 挿入を更新に変換します。少なくとも、古いエンティティと新しいエンティティがそれぞれ削除された状態と追加された状態にあることを完全に確認した後、プロファイラーで見ているのはそれです。
通常、それはかなり論理的なことだと思いますが...この動作を変更する方法はありますか? これは本当に起こっていることですか、それとも何か不足していますか?