質問: EF Core FromSql / ExecuteSQLとDapperの違いは何ですか?どちらも生のSQLコマンドを使用しています。唯一の違いは、Dapperが最新のEntity Framework Coreより高速でパフォーマンスが高いということですか?
回答: EFを使用してSQLリクエストを発行している場合は、実際にEFを使用していません。呼び出しはADOに相当する行の行であり、定義して維持する結果オブジェクトの読み込みは簡単です。多くの人々がEFを使いますが、生のSQLをやりたい時にはDapperを使います。 Dapperは、結果セットのPOCOへのマッピングをキャッシュするため、後続のクエリがより高速に実行されます。私はEFがこれをしているとは思わない。また、Dapperではパラメータ処理が*はるか*に優れています。 しかし、あなたはまだSQLで文字列リテラルに固執しています。すべてのエラーは実行時エラーです。結果POCOを記述して維持する必要があります。私はあなたがQueryFirst (免責事項:私が書いた)を使用すると、あなたはもっと幸せになり、もっと長く生きると主張します。あなたのSQLを.sqlファイルに入れ、あなたの入力時に構文が検証されます。クエリ結果からデザイン時に生成されたPOCO。あなたのクエリは継続的に統合テストされており、すぐに文書化される*その他多数のメリットが*あります。