これを行うより速く/より良い方法がありますか?
私はここに単純な1対多の関係があります。ASP MVC - 関連データの読み込み
public class Professor
{
public int Id { get; set; }
public string Name { get; set; }
public virtual IEnumerable<Subject> Subjects { get; set; }
}
public class Subject
{
public int Id { get; set; }
public string Name { get; set; }
public int ProfessorId { get; set; }
public virtual Professor Professor { get; set; }
}
実装 ////////////////////////////////////
public ActionResult Index()
{
TestDBContext db = new TestDBContext();
var profs = db.Professors.ToList();
var subjs = db.Subjects.ToList();
var vm = new ProfStudVM()
{
Professors = profs,
Subjects = subjs
};
return View(vm);
}
ビュー - ロード対象の各教授のために
<div>
@foreach (var prof in Model.Professors)
{
<p>@prof.Name</p>
foreach (var subj in Model.Subjects)
{
if (subj.ProfessorId == prof.Id)
{
<span>@subj.Name , </span>
}
}
<hr />
}
</div>
モデルと関係を正しく設定した場合、 'Professor'には' Subject'のコレクションが含まれています。必要なのは 'foreach(prof.Subjects内のvarサブ){ @ subj.Name、 } ' –