【发布时间】:2012-02-18 23:47:29
【问题描述】:
我在做一些 MVC 测试时遇到了一个问题。所以目前我有 2 张桌子,一张叫做 Leagues,一张叫做 Teams。
在联赛中我有 LeagueID、LeagueName,在团队中我有 TeamID 和 TeamName。然后我有另一个名为 LeagueTeams 的表,其中包含 LeagueTeamID、fk_LeagueID 和 fk_TeamID。
现在在我的 ViewData 中,我引用了 Teams 表,所以我有如下内容:-
@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 语句?
更新
我在控制器中提出了这个问题,但我仍然遇到问题:-
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'”
任何帮助将不胜感激,因为我似乎有点迷失在这里!
感谢您的帮助和时间
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-3 linq linq-to-entities