Получить имя записи из таблицы, на которую ссылается ID с помощью LINQ - PullRequest
2 голосов
/ 25 января 2012

Я столкнулся с проблемой во время тестирования MVC.Итак, на данный момент у меня есть 2 стола, один с именем Лиги и один с именем Команды.

В Лигах у меня есть LeagueID, LeagueName, а в командах у меня есть TeamID и TeamName.Затем у меня есть еще одна таблица под названием LeagueTeams, которая содержит LeagueTeamID, fk_LeagueID и fk_TeamID.

Теперь в моих ViewData я ссылаюсь на таблицу команд, поэтому у меня есть что-то вроде следующего: -

@foreach (var item in Model.Teams) {
<tr>
    <td>
        @Html.DisplayFor(modelItem => item.TeamName)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.LeagueTeams)
    </td>
</tr>

Теперь item.LeagueTeams - это, например, 1, который представляет собой LeagueTeamID.Как я могу получить Название Лиги в этом коде?Нужно ли вызывать ссылку на что-то еще или создавать оператор linq?

UPDATE

Я обнаружил это в своем контроллере, но у меня все еще есть проблема: -

        public ActionResult Index()
    {
        ViewBag.Message = "Welcome to ASP.NET MVC!";

        TeamsData model = new TeamsData();

        var _Teams = (from t in db.Teams
                          from tl in db.LeagueTeams
                          where t.LeagueTeams.Contains(tl.League.LeagueID)
                          select t);

        model.Teams = _Teams;


        return View(model);


    }

Однако код выдает ошибку на tl.League.LeagueID, сообщая мне: -

"не удается преобразовать из 'int' в 'MyProject.Models.LeagueTeam'"

Любая помощь будет очень признательна, так как я, кажется, немного потерян здесь!

Спасибо за вашу помощь и время

1 Ответ

0 голосов
/ 26 января 2012
where t.LeagueTeams.Any(lt => lt.LeagueID == tl.League.LeagueID)

Редактировать:

    var _Teams = (from t in db.Teams
                  from tl in t.LeagueTeams
                  select tl.League.Name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...