我在做一些MVC测试时遇到了问题。所以目前我有2张桌子,一张叫做联赛,另一张叫做队伍。
在联赛中我有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上抛出错误,告诉我: -
&#34;无法转换为&#39; int&#39;到&#39; MyProject.Models.LeagueTeam&#39;&#34;
任何帮助都会非常感激,因为我似乎有点迷失在这里!
感谢您的帮助和时间
答案 0 :(得分:0)
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);