1 回答
TA贡献2051条经验 获得超10个赞
“首先,我看不到为“DocumentLine”类型的实例设置外键的位置。”
好吧,首先-检查一下。在 EF 创建的实际数据库中。你很可能会DocumentId在你的DocumentLines桌子上找到一个 FK 。
您Document和DocumentLines处于一对多关系中 - 如果DocumentLine没有 aDocument作为父母,a毫无意义。因此,您不能将孤立对象插入DocumentLine数据库。取消注释
public virtual Document ParentDocument { get; set; }
并在插入之前分配父级:
public async Task<DocumentLine> CreateNewAsync(Document parent)
{
try
{
DocumentLine documentLine = new DocumentLine();
documentLine.ParentDocument = parent;
var newDocumentLine = await databaseContext.DocumentLines.AddAsync(documentLine);
await databaseContext.SaveChangesAsync();
return newDocumentLine.Entity;
}
catch(Exception ex)
{
return null;
}
}
这告诉 EntityFramework “嘿,这两个是相关的。” 然后,EF 将自行在数据库中找出正确的关系值。
告诉我它是否解决了问题,因为一切都取决于 FK on 的初始猜测DocumentId。
- 1 回答
- 0 关注
- 149 浏览
添加回答
举报