Хотите показать данные из двух разных таблиц sql в MVC - PullRequest
3 голосов
/ 05 декабря 2011

Как я могу показать данные из двух таблиц в моей базе данных SQL в представлении ...?

Пожалуйста, помогите.

  1. Таблица профиля
  2. Стол компании

Я хочу, чтобы две разные таблицы в моем представлении отображали эти данные из базы данных.!

Я искал в интернете, но не смог найти ничего, чтобы решить мою проблему. Пожалуйста, помогите.

У меня нет проблем с одной таблицей на мой взгляд.

public ActionResult Profiler()
{
    using (var dc = new Models.DataDataContext()) // Opretter objekt af model(Databasen)
    {
        return View(dc.Profils.OrderByDescending(a => a.Nu).ToList()); // Returner en liste med tabellets indhold
    }
}

Это дает мне таблицу с данными из моей базы данных на мой взгляд. Но я тоже хочу свой второй стол.

Ответы [ 2 ]

1 голос
/ 05 декабря 2011

То, что вы хотите достичь, называется «Модель представления», потому что модель, которую вы отправляете в ваши представления, отличается от модели в вашей базе данных. Часто вы обнаружите, что вам может понадобиться создать представление для пользовательского интерфейса, которое точно не соответствует базе данных.

jgauffin показывает "DetailsModel", которая объединяет две сущности базы данных. Это так же просто, как создание класса и присвоение ему двух свойств, CompanyName и Username. Чего не хватает его коду, так это кода класса «DetailsModel». Вместо того, чтобы передавать две сущности, вы создаете единую сущность, которая обладает всеми необходимыми свойствами.

Surjit также имеет метод, позволяющий сделать это без использования отдельного класса View Model с помощью Tuple.

Вам необходимо изменить свое представление, чтобы оно принимало либо Tuple, либо вашу новую модель представления.

1 голос
/ 05 декабря 2011

Загрузка информации из обеих таблиц и создание модели сплющенного представления, которая соответствует информации из обеих таблиц:

public ActionResult Details(int id)
{
    var profile = _profileRepos.Get(id);
    var company = _companyRepos.Get(profile.CompanyId);
    var model = new DetailsModel {
        CompanyName = company.Name,
        UserName = profile.FullName
    };
    return View(model);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...