【发布时间】:2016-05-14 06:40:19
【问题描述】:
我有以下型号:
public class DivorceCases
{
[Key]
[Required]
public string case_id { get; set; }
public string archived { get; set; }
public virtual Plaintiff p { get; set; }
}
public class Plaintiff{
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int id { get; set; }
public string name { get; set; }
}
我有一个 DivorceCases 的 ModelView 用于编辑,并且在控制器中,我正在使用:
DivorceCases dcold = db.DivorceCase.Where(x => x.case_id == dc.case_id).Include(x => x.p).SingleOrDefault();
dcold.p = dc.p;
db.Entry(dcold).State = EntityState.Modified;
db.SaveChanges();
当我更新时,EF6 不是更新原告表中的现有条目,而是在原告表中插入一条新记录,并更新 DivorceCases 表中这条新记录的外键引用。我究竟做错了什么?我该如何摆脱它?
【问题讨论】:
-
你展示了整个课程吗?我认为这可能与构造函数中的初始化代码有关。
-
@GertArnold 不,先生,这不是整个班级。实际上,就我而言,我已经得到了我在下面发布的解决方案。
标签: c# asp.net asp.net-mvc linq-to-entities entity-framework-6