实体框架以一对一的关系保存数据

时间:2013-07-22 14:15:45

标签: c# entity-framework asp.net-mvc-4

我有两张表如下:

表1: ID(PK) 名称

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

我正在使用Entity Framework来保存数据和一旦保存,我使用Ajax call& amp;在我的视图中显示它。但是,在其他数据的情况下,外键列不会在视图中更新。我必须手动刷新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)
    }

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用.Include()方法?我想在你的情况下会是:

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

或者

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

希望这有帮助。