我需要一些关于这个问题的建议/帮助。我一直在网上打猎,我有点困惑。
基本上我有一个视图 - 索引列出了我的所有电影。有一个详细信息视图,显示有关该电影的其他信息。我遇到的问题是,当我查看详细信息视图时,它没有显示我的一些值。我理解为什么我有一个强类型模型,但我需要一些帮助来解决这个问题。
模型
public class Film
{
public int FilmID { get; set; }
[StringLength(60, MinimumLength = 1)]
[Required]
public string Title { get; set; }
..............
public Owner owners { get; set; }
}
控制器
public ActionResult Details(int id = 0)
{
Film film = db.Films.Find(id);
if (film == null)
{
return HttpNotFound();
}
return View(film);
}
查看
@model SwapShop.Models.Film
@{
ViewBag.Title = "Details";
}
<h2>Details</h2>
<fieldset>
<legend>Film</legend>
<div class="display-label">
@Html.DisplayNameFor(model => model.Title):
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Title)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.owners.Owner_FirstName)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.owners.Owner_FirstName)
</div>
</fieldset>
正在显示正确的记录,但owner_FirstName的值为空。我是否需要加入控制器中的所有者表?
答案 0 :(得分:1)
如果您正在使用实体框架,则在拍摄电影时可能无法获取owners
等导航属性。尝试这个怎么样:
Film film = db.Films.Include(f=> f.owners).SingleOrDefault(f => f.FilmId == id);