【发布时间】:2016-05-10 04:08:35
【问题描述】:
有没有更快/更好的方法来做到这一点?
我这里有一个简单的一对多关系。
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 (var subj in prof.Subjects) { <span>@subj.Name , </span> }