我有一大堆支持Cases
和Users
。每个Case
都会分配给具有唯一ID的User
。我的数据模型使用AssignedUser
用户ID引用来表示这一点。这很容易存储和检索,但不便于显示。
当我想显示Cases
列表时,用户属性应格式化为用户的用户名,而不是其ID,但此信息在案例中不可用。在案例库中检索用户名很困难,因为它是由一个单独的用户存储库提供的。
目前,我是通过为案例的DisplayFor(...)
属性创建AssignedUser
模板并在OnActionExecuting的HttpContext中构建用户词典来实现的,然后由模板引用并转换为用户名。这样做效果很好,但是按照这种方法,我会在每个请求中填充HttpContext,其中包含许多并不总是必需的字典(分支,产品等)。
本能地,我应该在视图模型中传递用户数据,但这意味着要正确地检索它。什么是ASP.NET-MVC中的最佳实践,没有做不必要的查询并用无用的数据填充HttpContext?
答案 0 :(得分:0)
我最终使用AutoMapper来填充视图模型以显示和将用户ID映射到用户名等等。