MVCテスト中に問題が発生しました。だから、現時点では私は2つのテーブル、1つはリーグと呼ばれ、もう1つはチームと呼ばれています。LINQでIDによって参照されるテーブルからレコード名を取得します
リーグではリーグIDとリーグ名があり、チームにはチームIDとチーム名があります。それから私は、LeagueTeamID、fk_LeagueID、およびfk_TeamIDを含む、LeagueTeamsという別のテーブルを持っています。
今私の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はLeagueTeamIDである、例えば1です。このコードでリーグ名を取得するにはどうすればよいですか?他のものへの参照を呼び出す必要がありますか、またはlinq文を作成する必要がありますか?
UPDATE
は、私は私のコントローラで、この思い付いたが、私はまだ問題を抱えている: -
コードは私に言って、tl.League.LeagueIDにエラーを投げているが 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);
}
: -
私は少しここで失っているように見えるので、
すべてのヘルプは本当にいただければ幸いです「『MyProject.Models.LeagueTeam』から 'int型から変換できません」!あなたの助けと時間を
おかげ
EXCELLENT、そしてどのように私は、ビューからそれを呼び出すことができますか?現時点ではIは@foreach(Model.TeamsにおけるVARアイテム){Html.DisplayFor @
あなたは何を意味するのかよく分かりません。私はあなたがコントローラに必要なすべてのデータを取得することをお勧めします。これは通常、ビューで照会するよりもはるかに安全なアプローチです。 – usr
はいコントローラですべてを取得しようとしていますが、LeagueNameを取得できないようです。ビューにLeagueNameを表示するにはどうすればよいですか? – Johann