我是 MVC 新手,正在尝试以主详细信息形式添加/编辑记录。masterid 和 detailid 都是由 oracle 在插入记录时生成的。因此,当我尝试调用 DBContext.SaveChanges() 时,我收到外键被违反的错误,并且找不到 id 为“0”的主行。
下面是班级说明。
public class Master
{
public int MasterID { get; set; }
public string MasterTitle { get; set; }
public virtual IList<Detail> Details { get; set; }
}
public class Detail
{
public int DetailID { get; set; }
public int MasterID { get; set; }
public string DetailName { get; set; }
public virtual Master Master { get; set; }
}
控制器代码
[HttpPost]
public ActionResult Create(MASTER masterrecord)
{
if (ModelState.IsValid)
{
db.MASTER.Add(masterrecord);
db.SaveChanges();
}
...
}
只有将记录插入数据库后,主键(masterid)才会获得有意义的值。context.SaveChanges() 此时尝试使用“0”masterid 保存客户端记录。我搜索了每个地方都找不到任何有用的东西。
虽然首先只保存 Master 表,以便我可以检索 masterid 并使用 DETAIL 模型。但是在任何地方都找不到如何使用 EF5 MVC ASP.NET 来做这件事 任何人都可以指出我提供一些工作示例的正确方向吗?谢谢悉达特