2026-08-23 ef-corelinqcsharp EF Core が Where、Select、OrderBy で変換できる再利用可能な LINQ 述語の書き方 bool を返すヘルパーメソッドは "could not be translated" を投げますが、Expression<Func<T, bool>> は投げません。LINQKit なしで EF Core 11 の式ツリーを合成、入れ子、再利用する方法を、各ケースの実際の SQL 付きで解説します。
2026-08-19 errorsef-coredotnet 修正: EF Core 11 の "An exception was thrown while attempting to evaluate a LINQ query parameter expression" EF Core は、クライアント評価されるクエリの一部が評価中に例外を投げたときにこれを出します。InnerException を読み、EnableSensitiveDataLogging を有効にして、null チェックをラムダの外へ出してください。
2026-08-17 ef-coreef-core-11sql-server EF Core 11 で insert 時にデータベースのシーケンスから主キーを生成する方法 EF Core 11 の UseSequence でキーを IDENTITY から SQL Server のシーケンスへ移す方法です。EF が実際に発行する SQL、明示的なキー値が IDENTITY_INSERT なしで通るようになる理由、int 列に bigint シーケンスをつないでしまう罠、そして設計時に見込んでおくべき欠番を扱います。
2026-08-16 csharpdotnetdotnet-11 Blazor のシングルトンサービスから IDbContextFactory<T> を使う方法 シングルトンは DbContext を注入できませんが、IDbContextFactory<T> なら注入できます。AddDbContextFactory がファクトリを既定でシングルトンとして登録するからです。呼び出しごとにコンテキストを生成して破棄し、インスタンスは決して保持しないでください。
2026-08-12 errorsdotnetdotnet-10 修正: dotnet tool install --global dotnet-ef がエラーを出す .NET 10 SDK で dotnet tool install --global dotnet-ef が失敗するすべてのパターンを、正確なメッセージと終了コード付きで解説します。インストール済み、バージョンが見つからない、ダウングレード拒否、shim の衝突、到達できない NuGet フィード、そしてインストール成功後に初めて壊れるランタイム不一致。
2026-08-10 ef-coreef-core-11sql-server EF Core 11 でストアドプロシージャを呼び出して結果をマッピングする方法 プロシージャがエンティティの全列を返す場合は DbSet の FromSql、射影を返す場合は Database.SqlQuery<T>、何も返さない場合は ExecuteSql を使います。EXEC に LINQ 演算子を連結してはいけません。また、リーダーが破棄される前に出力パラメーターを読んではいけません。
2026-08-09 ef-coreef-core-11migrations EF Core 11 のマイグレーションでデータを失わずにテーブル名を変更する方法 テーブル名を変更した場合、EF Core は RenameTable を生成しますが、エンティティクラスの名前を変更した場合は DropTable と CreateTable を生成します。この2つを見分ける方法、クラス名変更のコストをゼロにする ToTable のテクニック、そしてデータを黙って入れ替えてしまう列名変更のバグを解説します。
2026-08-07 comparisondotnetaspnetcore ASP.NET Core の統合テストにおける WebApplicationFactory と Testcontainers の比較 両者は選択肢の関係にありません。WebApplicationFactory はアプリケーションを起動し、Testcontainers はその依存先を起動します。.NET SDK 10.0.201 で計測した結果、コンテナーを持つフィクスチャはクラスあたり 1.7 秒、SQLite なら 10 ミリ秒。そして Postgres が 22001 で拒否する HasMaxLength(16) 違反を、SQLite は黙って受け入れます。
2026-08-03 ef-coreef-core-11concurrency EF Core 11 で rowversion トークンを使って楽観的同時実行制御を実装する方法 EF Core 11 に rowversion の同時実行トークンを追加します。[Timestamp] と IsRowVersion による設定、EF が実際に発行する SQL、DbUpdateConcurrencyException の捕捉、データベース優先 vs クライアント優先 vs マージ、ETag を使った切断された API、そして保護を無言で無効化する 5 つの落とし穴。
2026-08-03 ef-coreef-core-11value-converters EF Core 11 で value converter を使って enum を文字列として保存する方法 EF Core 11 で C# の enum を int ではなく読みやすい文字列として保存する方法です。HasConversion、すべての enum への一括設定、nvarchar(max) の罠、並び順の落とし穴、既存の int 列の移行手順を扱います。