2026-05-23 comparisonef-coredapper EF Core のコンパイル済みクエリ vs 生 SQL vs Dapper: 読み取りパスではどれが勝つか? .NET 11 の読み取り中心のパスでは、AsNoTracking を付けた素の EF Core は Dapper の ~5% 以内に収まります。コンパイル済みクエリはプロファイル済みの単一行ホットパスで使い、Dapper は最小のレイテンシや LINQ で表現できない SQL のためだけに使いましょう。
2026-05-23 comparisonhttpclienthttpclientfactory HttpClient vs HttpClientFactory vs Refit: .NET 11 ではどれを使うべきか リクエストごとに HttpClient を new してはいけません。ライフタイム管理には IHttpClientFactory を使い、手書きのリクエストコードではなく型付きインターフェースが欲しいときに Refit を上に重ねます。素の singleton HttpClient は最も単純なケースでのみ妥当です。
2026-05-23 comparisonmediatrdependency-injection MediatR vs 単純なサービスクラス(2026年): ライセンス変更で乗り換えるべきか? 新規コードには単純なサービスクラスがより良いデフォルトです。2025年7月のMediatRのライセンス変更が問題になるのは、Communityの500万ドルのしきい値を超えている場合か、RPL-1.5のcopyleftを拒否する場合だけです。pipeline behaviorsが不可欠なときはMediatRを残しましょう。
2026-05-22 comparisondotnetnative-aot .NET 11 における Native AOT vs ReadyToRun vs JIT: どれを出荷すべきか クラシックな JIT は Dynamic PGO により定常状態のスループットで勝ち、ReadyToRun はコード変更なしで起動を速くし、Native AOT はリフレクションと動的コードを犠牲にして最小かつ最速起動のバイナリを生みます。単独のベンチマークではなく、デプロイの形で選んでください。
2026-05-22 comparisonsystem-text-jsonnewtonsoft-json System.Text.Json vs Newtonsoft.Json(2026年): どちらを選ぶべきか? .NET 11 の新規コードには System.Text.Json を選びましょう。ランタイムに同梱され、約2倍高速で、Native AOT で動作する唯一の選択肢です。Newtonsoft.Json は JSONPath、TypeNameHandling、本当に緩い JSON のためだけに使います。
2026-05-21 comparisoncsharpasync .NET 11 における ConfigureAwait(false) とデフォルトの比較: 今でも重要か? ConfigureAwait(false) は、SynchronizationContext (WinForms、WPF、MAUI) 下で動作する可能性のあるライブラリコードでは依然として必須です。.NET 11 上の ASP.NET Core、コンソールアプリ、Worker サービスのアプリケーションコードでは no-op です。
2026-05-21 comparisoncsharplinq C# における IEnumerable vs IAsyncEnumerable vs IQueryable:メソッドは何を返すべきか 3 つのシーケンスインターフェース、3 つの実行モデル。データベースがクエリを変換できる場合は IQueryable を、プロデューサーが非同期でストリーミングしたい場合は IAsyncEnumerable を、それ以外のメモリ内のものには IEnumerable を使用します。
2026-05-21 comparisonaspnetcoreminimal-apis ASP.NET Core 11 における Minimal APIs vs コントローラー:2026 年はどちらを選ぶべきか? ASP.NET Core 11 ではデフォルトで Minimal APIs を選びます。コントローラーは、Minimal APIs がまだカバーしていない MVC の機能、つまり多数のアクションに対する規約ベースのルーティング、MVC スタイルのフィルター、Razor ビューが必要な場合にのみ使います。
2026-05-20 comparisoncsharpasync C# における async void と async Task: それぞれが正しい場面 async Task がデフォルトで、async void は例外です。async void は、イベントハンドラー、メッセージループのトップレベルハンドラー、そして void シグネチャを要求する一部のフレームワークコールバックに限って使用してください。それ以外のすべてでは、例外処理、コンポーザビリティ、テスタビリティの観点から async Task が勝ります。
2026-05-20 comparisonef-coredapper EF Core 11 vs Dapper の一括挿入: リアルなベンチマーク .NET 11 での一括挿入では、EF Core も Dapper も勝ちません。SqlBulkCopy が勝ちます。これはそのベンチマークと理由、そして各ツールにふさわしい場所です。