Основы MVC / EF - как вернуть значения из смешанных таблиц / объектов в MVC / EF? - PullRequest
0 голосов
/ 14 октября 2011

Я довольно новичок в MS MVC - до сих пор я создал базовый шаблонный проект (страницы Home и About) и использовал EF для подключения к нашей существующей БД.Приложение является базовым приложением для опроса.

В базе данных каждая запись опроса имеет столбец CreatedBy с GUID.Этот GUID отображается обратно в нашу таблицу базы данных Logins, это UserID участника.

ОК, поэтому, используя встроенные в VS леса, я создал контроллер для каждого основного объекта, с которым мы работаем, включая объекты Login и Survey.Леса создали Index () в SurveyController, он выглядит следующим образом:

    public ViewResult Index()
    {
        return View(db.Surveys.ToList());
    }

Когда я запускаю приложение, все списки очень хороши, но в столбце CreatedBy большой уродливый GUID.Это не очень полезно, я действительно хочу показать имя фактического члена, связанного с этим GUID.

Каков наилучший способ сделать это?Я думал об изменении объекта Survey, добавлении поля LoginName и заполнении этого, но это «нарушает» код в том, что, если я захочу обновить скаффолдинг позже, я потеряю все внесенные здесь изменения.

Я уверен, что это общая проблема.Мне интересно, есть ли лучшая практика для объединения данных между таблицами и объектами при возврате представления?

1 Ответ

1 голос
/ 15 октября 2011

Мой личный (не одобренный MSFT) совет - постоянно пытаться использовать «Code First» и держаться подальше от ObjectContext, если это вообще возможно.Даже если у вас есть существующая база данных, вы все равно можете использовать Code First путем обратного инжиниринга базы данных с помощью мощных инструментов (все еще в CTP1).Более конкретно, на этот вопрос и на многие из вопросов, с которыми вы, вероятно, столкнетесь в ближайшем будущем, вероятно, будут даны ответы в руководствах по MSDN .Мы (команда EF) тесно сотрудничали с командой ASP.NET MVC, чтобы обеспечить высокое качество этих учебников, и они звучат именно так, как вам нужно.Обязательно посмотрите в левой навигационной панели для хорошей отправной точки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...