[英]EF6 Update Foreign Key after insert Data from another Form
从其他表格插入记录后,我试图更新表的外键。
表项目 :
ProjectID CommentID
表注释 :
CommentID Date Comment
首先,我创建Project
并为CommentID
分配一个NULL
值,因为还没有评论。 到现在为止还挺好。
然后,稍后,我需要在项目中添加评论。 我可以成功添加注释,但是不能在相关的Project
表中分配CommentID
。
这就是我试图做的(没有成功):
MyEntities ctx = new MyEntities();
tblComents coment = new tblComments()
{
Date = DateComent.Value,
Comment = TxtComment.Text.Trim()
};
ctx.tblComments.Add(comment);
var projet = new tblProject { tblComments = comment };
ctx.SaveChanges();
这样,我创建了注释,但是从未在表Projects
分配外键。
有什么帮助吗?
谢谢
您正在将注释添加到与数据库无关的new
项目中:
tblComents coment = new tblComents()
{
Date = DateComent.Value,
Coment = TxtComent.Text.Trim()
};
tblProject project = ctx.tblProject(x=> x.Id == someid); // find the project you want
if(project != null) project.tblComents.Add(coment);
ctx.SaveChanges();
您应该从数据库中获取一个项目(上面的代码),然后将注释添加到该项目,或者将项目而不是注释中的项目添加到数据库(下面的代码):
tblComents coment = new tblComents()
{
Date = DateComent.Value,
Coment = TxtComent.Text.Trim()
};
tblProject project = new tblProject();
ctx.tblProjects.Add(project);
if(project != null) project.tblComents.Add(coment);
ctx.SaveChanges();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.