Элегантное отображение объектов данных, отображаемых по идентификатору, в представлениях - PullRequest
0 голосов
/ 29 июля 2010

У меня есть куча поддержки Cases и Users. Каждый Case назначается на User с уникальным идентификатором. Моя модель данных представляет это с AssignedUser ссылкой на идентификатор пользователя. Это легко хранить и извлекать, но не удобно отображать.

Когда я хочу отобразить список Cases, свойство пользователя должно быть отформатировано как имя пользователя пользователя, а не его ID, но эта информация недоступна внутри корпуса. Трудно получить имена пользователей в хранилище дел, поскольку оно предоставляется отдельным хранилищем пользователей.

В настоящее время я делаю это, создавая шаблон DisplayFor(...) для свойства AssignedUser дела и создавая словарь пользователей в HttpContext в OnActionExecuting, на который затем ссылается шаблон и транслирует имя пользователя. Это работает довольно хорошо, но, следуя этому подходу, я заполняю HttpContext при каждом запросе несколькими словарями (филиалами, продуктами и т. Д.), Которые не всегда необходимы.

Инстинктивно, я должен передать пользовательские данные в модель представления, но это означает, что они должны быть восстановлены должным образом. Какова лучшая практика в ASP.NET-MVC без выполнения ненужных запросов и заполнения HttpContext бесполезными данными?

1 Ответ

0 голосов
/ 02 сентября 2010

В итоге я использовал AutoMapper для заполнения моделей представления для отображения и сопоставления идентификаторов пользователей с именами пользователей и т. Д.

...