Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架以一对一关系保存数据_C#_Entity Framework_Asp.net Mvc 4 - Fatal编程技术网

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

C# 实体框架以一对一关系保存数据,c#,entity-framework,asp.net-mvc-4,C#,Entity Framework,Asp.net Mvc 4,我有两个表格如下: 表1: ID(主键) 名字 表2: ID(主键) 电子邮件 表1ID(FK) 我使用实体框架来保存数据&保存数据后,我使用Ajax调用检索数据并在视图中显示它。但是,在显示其他数据时,视图中的外键列不会更新。我必须手动刷新web表单以查看更新的外键值 以下是来自控制器的一些代码: table2Obj = new Table2Object(); table2Obj.Email = emails; table2Obj.Table1ID = Convert.ToInt32(ddlR

我有两个表格如下:

表1: ID(主键) 名字

表2: ID(主键) 电子邮件 表1ID(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 + "\"}");
table2Obj=新的Table2Object();
表2obj.Email=电子邮件;
table2Obj.Table1ID=Convert.ToInt32(ddlReferralTypes);
Context.Table2Objects.Add(table2Obj);
SaveChanges();
List table2objects=Context.GetTable2Object();
字符串htmlView=RenderPartialViewToString(“\u ReferralList”,table2Objs);
htmlView=HttpUtility.JavaScriptStringEncode(htmlView);
返回内容(“MessageType\”:“success\”,“MessageContent\”:“Reference 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)
    }
@型号列表
@foreach(模型中的var项目)
{
//显示数据
电子邮件:@Html.DisplayFor(modelItem=>item.Email)
引用:@Html.DisplayFor(modeleItem=>item.Table2.Name)
}
您是否尝试过使用该方法?我认为你的情况是:

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


希望这会有所帮助。

在SaveChanges()方法调用之后,您将使用Context.gettable2object()获取更新的数据。GetTable2Object()方法是什么样子的?它使用简单的Linq语句返回表2中的所有记录:返回this.Table2Objects.ToList();
this.Table2Objects.Include(t => t.Email).ToList();