-2

非常に高性能なアプリケーションを作成する必要があります。現在、データアクセス層にEntityFrameworkを使用しています。私のアプリケーションは、ほぼ毎秒、いくつかの通信データを挿入する必要があります。EntityFrameworkが遅いことがわかりました。SaveChanges()メソッドを終了するのに約2秒の遅延があります。

次のオプションがあると思っていました。1。ADO.NETを使用して自分でデータアクセス層を作成します。ストアドプロシージャまたはアドホッククエリの使用2.エンタープライズライブラリデータアクセスレイヤーの使用3.NHibernateの使用4.リポジトリファクトリの使用:http://pooyakhamooshi.blogspot.com/search?q = repository

どう思いますか?データを挿入するのにどちらが速いですか?どちらが速いですか?

4

2 に答える 2

3

パフォーマンスの問題だけの場合、使用するすべてのフレームワークがシーンでADO.NETを使用するため、ADO.NETを直接使用することはできません。ただし、パフォーマンスの向上はそれだけの価値があります。何百万ものレコードに何百万ものレコードを挿入しない限り、それだけの価値はありません。

アプリケーションのプロファイリングを見て、アプリケーションが情報を保存するのに2秒かかる理由を確認することをお勧めします。それほど遅くはないはずです。たぶん、n+1のパフォーマンスの問題があります。これを修正すると、Entity Framework(またはその他の標準DAL)を使用して必要なパフォーマンスが得られる可能性があります。それにあなたの努力を集中してください。

于 2009-11-26T23:38:09.350 に答える
1

プレーンなADO.NETも、実装方法によって異なりますが、パフォーマンスの面では最高のはずですが、開発には時間がかかります。

このサイトはとても役に立ちました:http://ormbattle.net/

BLToolkitは、パフォーマンスの面で最高の無料のORMツールのようです。聞いたのは初めてです!

于 2011-06-05T10:50:46.627 に答える