1

我有两个表如下:

表 1:ID(PK) 名称

表 2:ID(PK) 电子邮件 Table1ID(FK)

我正在使用实体框架来保存数据,一旦保存,我就使用 Ajax 调用检索它并在我的视图中显示它。但是,视图中的外键列不会更新,而其他数据会更新。我必须手动刷新 Web 表单才能看到更新的外键值。

这是控制器的一些代码:

table2Obj = new Table2Object();
table2Obj.Email = emails;
table2Obj.Table1ID = Convert.ToInt32(ddlReferralTypes);
Context.Table2Objects.Add(table2Obj);
Context.SaveChanges();

List<Table2Object> table2Objs = Context.GetTable2Object();
string htmlView = RenderPartialViewToString("_ReferralList", table2Objs);
htmlView = HttpUtility.JavaScriptStringEncode(htmlView);
return Content("{\"MessageType\":\"success\",\"MessageContent\":\"Referral added successfully\",\"htmlPartialView\":\"" + htmlView + "\"}");

这是视图的样子:

    @model List<MyModels.Models.Table2Object>
    @foreach (var item in Model)
    {
    //display data
Email: @Html.DisplayFor(modelItem => item.Email)
Referral: @Html.DisplayFor(modelItem => item.Table2.Name)
    }
4

1 回答 1

0

您是否尝试过使用.Include()方法?我认为你的情况是:

this.Table2Objects.Include("Email").ToList();

或者

this.Table2Objects.Include(t => t.Email).ToList();

希望这会有所帮助。

于 2013-07-24T14:30:59.730 回答