MVC,实体框架,未显示创建新项目的外键数据



使用mvc4和ef5 codefirst。遇到了一个问题,在使用外键创建新数据记录时创建新的数据记录。列表创建的条目一切看起来都很好:

@foreach (var item in Model) {
   @Html.DisplayFor(modelItem => item.Location.name)
   @Html.DisplayFor(modelItem => item.Action.name)
   ...

创建新记录该参考无法显示外国内容(名称):

    ...
    @Html.LabelFor(model => model.locationID)
    @Html.DisplayFor(model => model.Location.name)
    @Html.LabelFor(model => model.actionID)
    @Html.DisplayFor(model => model.Action.name)
    ...

外键在控制器中正确填充(请参见简化示例)

    public ActionResult Create()
    {
        Timerecord tm = new Timerecord();
        tm.currentTime = DateTime.Now;
        tm.locationID = 1;
        tm.actionID = 5;
        ViewData.Model = tm;
        return View();
    }

和记录是在数据库中正确创建的。只是名称没有显示在视图上。在创建期间,我是否必须获取相关的reocrd我?

我在代码中没有看到对SaveChanges()的任何电话。您需要调用此功能,以使外国密钥属性加载导航属性。要么,要么,就像您在问题结束时所说的那样,要明确加载它们。

相关内容

最新更新