2026-10-06 errorsef-coreef-core-11 修正: EF Core でスカラー結果に SqlQueryRaw<T> を使うと発生する Invalid column name 'Value' EF Core は、First、Where、Max、Single を追加した時点で、スカラーの SqlQuery<T> をサブクエリでラップし、Value という名前の列を選択します。SQL の列に AS Value のエイリアスを付けるか、先にマテリアライズしてください。
2026-10-06 errorsef-coreef-core-10 解決: EF Core のマイグレーションをリセットした後の There is already an object named 'X' in the database Migrations フォルダーを削除して新しい InitialCreate を生成すると、EF Core はテーブルが既に存在することを知りません。開発用データベースを削除するか、新しいマイグレーションを実行せずに __EFMigrationsHistory に記録します。
2026-10-04 ef-coreef-core-10postgresql Npgsql を使う EF Core の全接続に search_path や statement_timeout などの PostgreSQL セッションパラメーターを設定する方法 一度だけ実行した SET は、Npgsql が接続をプールに戻した瞬間に DISCARD ALL で消去されます。Search Path と Options の接続文字列キーワードで search_path と statement_timeout をスタートアップパケットに含め、うまくいかない場合は ALTER ROLE か ConnectionOpened インターセプターにフォールバックします。また、UsePhysicalConnectionInitializer の SET が黙って失われる理由も解説します。
2026-10-02 comparisonef-coredotnet EF Core 11 クエリにおける EF.Parameter と EF.Constant の違い EF.Constant はキャプチャした値を SQL リテラルとして埋め込み、EF.Parameter はリテラルを SQL パラメーターに変換します。基本は EF Core の既定のままにし、動的に組み立てた式ツリーが呼び出しのたびに再コンパイルされるのを防ぐには EF.Parameter を使います。EF.Constant は、値の種類が少なく、データの偏りが大きくて値ごとに別のプランが必要な場合だけに使います。
2026-09-29 errorsef-coredotnet 修正: static readonly の `IList<T>` または `ISet<T>` に対する EF Core の `Contains` を変換できない EF Core 8、9、10 では、リストが IList、ICollection、ISet、IReadOnlySet 型の static readonly フィールドの場合、Contains を変換できません。Enumerable.Contains を明示的に呼び出すか、EF Core 11 にアップグレードしてください。
2026-09-27 ef-coreef-core-11sql-server EF Core 11 で JSON にマッピングされたプロパティに一意インデックスを追加する方法 (SQL Server と SQLite) EF Core 11 RC 1 では、ToJson() メンバーに対する HasIndex(...).IsUnique() は一意性を強制しません。SQL Server は IsUnique を無視し、SQLite はドキュメント全体にインデックスを張ります。JSON の値を計算列として公開し、その列に一意インデックスを設定してください。
2026-09-21 ef-coreef-core-10postgresql EF Core と Npgsql で PostgreSQL の jsonb 配列にアトミックに追加する方法 エンティティを読み込み、List.Add を呼んで保存すると、jsonb ドキュメント全体が書き換えられ、同時に行われた追加は黙って失われます。追加処理は jsonb の || 演算子を使った 1 つの UPDATE にまとめます。ExecuteSqlAsync を使うか、ExecuteUpdateAsync の中でマップした関数を使い、さらに @> によるガードで冪等にします。
2026-09-21 ef-coreef-core-10oracle EF Core で Oracle のシーケンスを使って主キーを生成する方法 Oracle.EntityFrameworkCore 10 の UseSequence で EF Core のキーを Oracle のシーケンスにマッピングします。プロバイダーが実際に出力する DDL と INSERT の SQL、既存のシーケンスやレガシーなトリガーを使う方法、引用符と HiLo でつまずきやすい理由、そして ORA-00001 を起こさずに ID 列をシーケンスへ移行する方法を解説します。
2026-09-20 ef-coreef-core-11scaffolding IPluralizer で dotnet ef dbcontext scaffold のテーブル名複数形化をカスタマイズする方法 Gas という名前のテーブルは Ga というエンティティにスキャフォールドされます。組み込みの Humanizer 複数形化サービスを独自の IPluralizer に置き換え、スタートアッププロジェクトの IDesignTimeServices から登録する方法と、そこで TryAddSingleton が黙って何もしない理由を解説します。
2026-09-20 ef-coreef-core-11concurrency 2 つのアプリインスタンスが同じメッセージを消費するときに EF Core 11 で冪等なメッセージ処理を保証する方法 ハンドラーの存在チェックは、あなたが思っているようなガードではありません。inbox テーブルに一意インデックスを張り、業務上の変更と同じ SaveChanges でマーカーを書き込み、勝者はデータベースに決めさせます。さらに、それを静かに台無しにする ExecuteUpdate の罠も扱います。