2026-10-27 errorsef-coredotnet 修正: EF Core で The property 'X' is part of a key and so cannot be modified or marked as modified が発生する EF Core は追跡中のエンティティのキー値を更新しません。DTO からのキーのコピーをやめ、代替キーの代わりに一意インデックスを使い、本当にキーを変える場合は新しい行を挿入して古い行を削除します。EF Core 10.0.14 で検証しています。
2026-10-11 ef-coredotnet-10csharp EF Core でエンティティを Attach する前に、DbContext がすでに追跡しているか確認する方法 DbSet.Local.FindEntry(key) を使えば、データベースへの往復やスキャンなしで、指定したキーのエンティティが追跡されているかを変更トラッカーに問い合わせられます。この確認で Entry(entity).State が当てにならない理由、Find がクエリを発行する理由、EF Core 10 で検証済みの AttachOrMerge ヘルパーを紹介します。
2026-09-09 errorsef-coreef-core-11 解決: ToJson の複合コレクション保存時に Complex entry original ordinal '-1' is invalid が出る Microsoft.EntityFrameworkCore を 10.0.10 以降へ更新してください。それ以前は、2 つ目の ToJson 複合プロパティ配下でネストしたコレクションが増えると SaveChanges が失敗しました。
2026-09-09 errorsef-coreef-core-11 解決: The complex type collection must be initialized to a non-null value EF Core 10.0.x では、ToJson の複合コレクション内で 2 要素のコレクションを持つ複合プロパティに null を代入すると DetectChanges が壊れます。11.0.0-rc.1 で修正されました。
2026-05-07 errorscsharpdotnet 修正: The instance of entity type cannot be tracked because another instance with the same key value is already being tracked EF Core 11 は、1 つの DbContext 内で 2 つのオブジェクトが主キーを共有するとこの例外をスローします。古い方をデタッチするか、その場で更新してください。読み取り側の AsNoTracking で衝突を防げます。