質問: 83138 ms EFがなぜより速いのか理解するのに役立つものが必要です。 **私は何を間違えたのですか?** 私が使用しているコードはGithubにあります ありがとう!!!
回答: まず、EFは間違いなく高速化しました。多くの時間をかけてパフォーマンスを向上させました。検討してください:EFはADO.NETの上に座っています。 EFがADO.NET *より*もはるかに*高速*な結果を報告しているなら、あなたはすでにあなたがこれを疑っていると*思い*ます。 私はここで重要な問題は、あなたが同じデータコンテキストのすべての操作を実行していることである*疑いがあります* 。これはおそらく、アイデンティティマネージャとキャッシュを強調している可能性が高いことを意味します。私はあなたのコードを直接実行することはできません(Oracleなどを使用しているため)が、実行される実際のクエリを表示することは興味深いでしょう。現実世界での使用では、各データコンテキストには有限の単位作業時間があります。同じデータ・コンテキストで10,000の操作を実行することは非常にまれです。より典型的なのは、いくつかの操作です。 しかし、無関係です:私はDAOが生のADO.NETのパフォーマンスの0.6%以内であることを示すあなたの結果*に非常に*満足しています。これは基本的に、私たちがdapperを使って進めていたことです:生のADO.NETの完全なパフォーマンスですが、単純にコード化の苦痛を取り除きます。