私は過去数日間、MVC アプリケーションに取り組んできました。これで、私はいくつかのドロップダウンリストを使用しており、私が行ったことが良い習慣であるかどうかを知りたい. データベースから取り込まれた約 5 ~ 6 個のドロップダウンがあります。ドロップダウンには ID と説明フィールドがあります。問題なくドロップダウンを埋めることができます。ただし、マスターテーブルをリストしているときは、パフォーマンスの問題が発生しているときです。
すべてのドロップダウンの選択は整数としてデータベースに保存されるため、BaseModel (HBM にマップされるクラス) にもフィールドがあります。データベースからすべてのレコードを一覧表示すると、予想どおり、レコードに整数が表示されます。今のところ性能に問題はありません。
選択した項目の説明を表示したかったので、ドロップダウン用のモデル クラスを作成し、モデル内にデータベースと通信して選択内容に基づいて説明を取得するメソッドを用意しました。問題は、これがページの読み込みを遅くしていることです。これをより速くロードするためにデザインを変更する必要があるかどうかを知りたかった. 以下は私が持っているコードです
MasterList1 テーブル (このテーブルでは州と郡は整数です) 州のドロップダウン (ID を持つすべての州を含むマスター テーブル) 郡のドロップダウン (ID を持つすべての郡を含むマスター テーブル)
Nhibernate の BaseModel クラス
MasterList1 州郡
モデル クラス
MasterList1モデルの状態モデル郡モデル
リポジトリ クラス MasterList1Repo StateRepo CountyRepo
マスターリスト1を見る
ビューでは、BaseModel クラスで文字列プロパティを呼び出しています。このプロパティでは、Model クラスを呼び出して、Repo を呼び出して文字列を取得しています。これが Repo クラスのメソッドです。
public ApplicationTypeMaster GetByID(int ID)
{
using (ISession session = NHibernateHelper.OpenSession())
{
return session.Get<ApplicationTypeMaster>(ID);
}
}
public string GetApplicationTypeByID(int ID)
{
return GetByID(ID).ApplicationTypeDescription.ToString();
}
これを改善する方法がわかりません。助言がありますか ?