在视图中优雅地显示由ID映射的数据对象

时间:2010-07-29 10:52:56

标签: data-binding asp.net-mvc-2 views repository-pattern

我有一大堆支持CasesUsers。每个Case都会分配给具有唯一ID的User。我的数据模型使用AssignedUser用户ID引用来表示这一点。这很容易存储和检索,但不便于显示。

当我想显示Cases列表时,用户属性应格式化为用户的用户名,而不是其ID,但此信息在案例中不可用。在案例库中检索用户名很困难,因为它是由一个单独的用户存储库提供的。

目前,我是通过为案例的DisplayFor(...)属性创建AssignedUser模板并在OnActionExecuting的HttpContext中构建用户词典来实现的,然后由模板引用并转换为用户名。这样做效果很好,但是按照这种方法,我会在每个请求中填充HttpContext,其中包含许多并不总是必需的字典(分支,产品等)。

本能地,我应该在视图模型中传递用户数据,但这意味着要正确地检索它。什么是ASP.NET-MVC中的最佳实践,没有做不必要的查询并用无用的数据填充HttpContext?

1 个答案:

答案 0 :(得分:0)

我最终使用AutoMapper来填充视图模型以显示和将用户ID映射到用户名等等。