1
我有两个表如下:在一对一的关系实体框架保存数据
表1: ID(PK) 名称
表2: ID(PK) 电子邮件 Table1ID(FK)
我使用Entity Framework保存数据&一旦保存我使用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)
}
SaveChanges()方法调用后,您使用Context.GetTable2Oject()获取更新的数据。 GetTable2Object()方法是什么样的? – dotnetesse
它使用简单的Linq语句返回表2中的所有记录:return this.Table2Objects.ToList(); –