如何在MVC Razor Tabe中使用Relationship迭代另一个模型属性
本文关键字:Relationship 迭代 另一个 属性 模型 MVC Razor Tabe | 更新日期: 2023-09-27 18:20:44
我的MVC5视图中有一个表,它使用它们之间的关系从不同的模型中获取另一个属性,但它在这一行引发了错误。。。
这是剃刀桌
<div class="box-content nopadding">
<table class="table table-bordered dataTable dataTable-scroll-x">
<thead>
<tr>
<th>
<span class="span2">Branch(s)</span>
<span class="span3">First Term</span>
<span class="span3">Second Term</span>
<span class="span3">Third Term</span>
<span class="span1">Option</span>
</th>
</tr>
</thead>
<tbody>
@foreach (var item in ViewData["Term"] as IEnumerable<_1._2._0_Core.Domains._2._1_Domain.AcademicFramework._1._1AcademicModels.Term>)
{
<tr>
<td>
<span class="span2">@item.SchoolBranch.RegNo</span> // This is where the error is coming from because am trying to bring in another model property
<span class="span3">@item.StartDate - @item.EndDate</span>
<span class="span3">@item.StartDate() - @item.EndDate</span>
<span class="span3">@item.StartDate - @item.EndDate</span>
<span class="span1"><a href="@Url.Action("#")"class="btn" rel="tooltip" title="Edit"><i class="icon-edit"></i></a></span>
</td>
</tr>
}
</tbody>
</table>
</div>
这是型号定义
public class Term
{
public string TermName { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public int SessionId { get; set; }
public virtual Session Session { get; set; }
public int SchoolBranchId { get; set; }
public virtual SchoolBranch SchoolBranch { get; set; } //this is the relationship, i Used Fluent to map it
}
这是它试图从获得属性的另一个模型
public class SchoolBranch : BaseEntity
{
public string RegNo { get; set; }
.....
public virtual ICollection<Term> Term { get; set; }
.....
}
如何使用它们的关系将此属性显示在该表中谢谢你的时间,请
这是我的控制器
public ActionResult SessionDetail(int id)
{
ViewData["Term"] = _academicFramService.GetAllTerm(id);
return View();
}
在GetAllTerm
方法中,可以使用Include
加载主查询中的每个SchoolBranch
。
var db = ..; // the context instance
var query = db.Set<Term>()
.Include(x => x.SchoolBranch)
.Where(x => ... == id);