在繁重的环境应用程序中,我们有用户、位置、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 类来自一个网络服务,所以一个属性是
int IdCountry
User 类有一个 DeliveryZoneVO 列表,如该类所示,这里的“问题”是因为它从 Web 服务中检索数据,所以我只有国家的 ID。
当我准备控制器中的数据以发送到视图时:
UserModelView userMV = new UserModelView();
userMV.user = service.GetUserById(1);
ViewData.Model = userMV;
但是,在 userMV.user 中,我有 DeliveryZones 以及带有 IdCountries 的 DeliveryZoneVO 对象列表。
在视图中,当我这样做时(例如):
@DisplayFor(m => m.user.DeliveryZones)
我想显示国家名称,只有 ID。所以我需要在某个地方提供参考。问题在于应该将这些数据放在哪里,这被认为是最佳实践。
是否在所有模型视图中(在示例的情况下, UserModelView() 具有 List 的属性国家?