SubSonic 2 を約 5 年間使用しており、気に入っています。ただし、過去 6 か月間、SubSonic 3 または同様の ORM ツールに移行することを考えていました。私の会社では Telerik のツールをたくさん使っているので、OpenAccess を試してみようと思いました。設定が完了したら、Users テーブル (最大 30 レコード) からの情報を RadGrid にロードするという非常に基本的なタスクを試してみることにしました。
したがって、グリッドの OnNeedDataSource イベント内には、次のものがあります。
var start = System.Environment.TickCount;
context = new EntitiesModel();
rgUsers.DataSource = (from u in context.Users select u);
var stop = System.Environment.TickCount;
var elapsed = stop - start;
litTelerik.Text = string.Format("This process took <b>{0}</b> milliseconds", elapsed);
それを構築してページを実行した後、1607 ミリ秒かかったことが返されます。ただし、ページを更新すると 0 秒に戻ります。(どうして?)
次に、SubSonic コードを挿入します。
var start = System.Environment.TickCount;
rgUsers.DataSource = new UserCollection().Load();
var stop = System.Environment.TickCount;
var elapsed = stop - start;
litTelerik.Text = string.Format("This process took <b>{0}</b> milliseconds", elapsed);
初めてコードを実行すると、171 ミリ秒かかったと表示されます。ページを更新すると、60 ~ 70 ミリ秒かかったことが報告されます。
ですから、私の質問は次のとおりです。なぜ OA は最初の訪問時にロードするのにかなり時間がかかるのに、ページを更新するたびにロードするのに 0 秒もかからないのですか? SubSonic は最初のアクセスではかなり高速ですが、ページを更新するたびに最大 65 ミリ秒かかりますか?
これが「基本的な」質問であるか、パフォーマンスを適切にテストしていない場合は、申し訳ありません。この方法を改善する方法があれば、アドバイスをいただければ幸いです。
ありがとう、アンドリュー