2

データベースに 869 個のテーブルがあります。Entity Framework (バージョン 4) と単純な古い ADO.NET のどちらを使用する必要がありますか?

私は、EF (バージョン 4) と従来の ADO.NET のどちらを採用するか、どちらに傾倒するか迷っています。私が心配しているのは、Entity Framework のモデル デザイナーがこのような大規模なデータ モデルでフリーズするかどうか、そして維持するのが悪夢になるかどうかだけです。

このような大規模なデータ セットで Entity Framework を使用しようとした人はいますか?

4

3 に答える 3

1

これは経験に基づいています。私たちはオンライン賭博会社であるため、データ転送にはリアルタイム配信が含まれます。EF と ADO.NET を使用してクエリの速度を比較するベンチマークをいくつか行ったところ、ADO.NET は EF よりもほぼ 4 倍高速であることがわかりました。テーブルに 1 対多のリレーションシップまたは複雑なリレーションシップがある場合、アプリケーションで EF を使用すると負担が大きくなります。なんで?EF を使用してクエリを実行している場合、メイン テーブルからデータを取得するだけでなく、子テーブルからレコードを取得するためです。オブジェクトを軽量化するLINQクエリからの「投影」を使用していない限り。

最後に、EF を使用しない場合に考慮すべきことが 1 つあります。

*データをできるだけ早く配信または挿入することが優先される場合は、EF を使用しないでください。

于 2013-01-22T11:43:34.643 に答える
1

データベース内のテーブルの数は、データ アクセス レイヤー フレームワークの選択に実際には影響しません。

EF はその機能に優れており、EF を使用すると、ADO.NET の同等のコードよりもはるかに少ないコードになります。

したがって、ほとんどの場合、ADO.NET よりも EF をお勧めします。

于 2013-01-22T11:16:14.663 に答える
0

EF4 と EF5 のテーブルが多いため、起動が遅い場合は、事前に生成されたビューを使用する必要がある場合があります。おそらく、パフォーマンスに関する考慮事項を確認することをお勧めします。これらは EF5 固有のものですが、多くの情報が EF4 に適用されるか、少なくともどの領域に注意する必要があるかを理解できるはずです。可能であれば、.NET Framework 4.5 を使用してください。このバージョンでは、パフォーマンスが大幅に向上しています。

于 2013-01-28T23:24:51.483 に答える