重い環境のアプリケーションでは、Users、Locations、bla bla bla... があり、多くの状況で、国のリストを取得するサービスへの呼び出しを使用します。
これを実装するための「ベストプラクティス」または「適切な方法」はどこにありますか。このメソッドはいくつかの場所で呼び出され、多くのオブジェクトがList<CountryVO>
プロパティを持っています。
Razor ビューを使用することを特に考慮して、このプロパティを ModelViews に追加する必要があることがよくあります
ソリューションは、DAL / BLL / SERVICE / UI[s] アーキテクチャを使用しています。
実際の例:
public class User {
...
...
public List<DeliveryZoneVO> DeliveryZones {get;set;}
public User() {
...
DeliveryZones = service.GetDeliveryZones().ToList();
}
}
クラス DeliveryZoneVO は Web サービスから取得されるため、1 つのプロパティは
int IdCountry
クラス User には、クラスで提示されている DeliveryZoneVO のリストがあります。ここでの「問題」は、Web サービスからデータを取得するため、国の ID しか持っていないことです。
ビューに送信するコントローラーでデータを準備するとき:
UserModelView userMV = new UserModelView();
userMV.user = service.GetUserById(1);
ViewData.Model = userMV;
しかし、userMV.user 内には、IdCountries を持つ DeliveryZoneVO オブジェクトのリストを持つ DeliveryZones があります。
ビューで、(たとえば)行うと:
@DisplayFor(m => m.user.DeliveryZones)
国名を表示したいのですが、IDしかありません。だから私はどこかに参照が必要です..問題は、ベストプラクティスと見なされるデータをどこに配置する必要があるかにあります。
すべてのモデルビュー(例の場合、 UserModelView() のプロパティ Countries with a List に含まれていますか?