该问题是从原始帖子演变而来的,因此为了扩大结果,我添加了一个单独的问题。
最初的任务得到了回答,但在这样做的过程中,我遇到了一个困扰我的新问题。请参阅此处的原始帖子:LINQ 初学者,文档版本的表连接查询
这是一个文档修订系统。我们正在使用两个表。一旦用户创建了新文档,信息就会添加到Document
表中。此时,文档表有一个设置为 0 的修订版和一个设置为空的 dateApproved。主键是 documentID。
现在,如果用户编辑该文档,则会在新表中创建一行Version
。
这是我拥有的 Linq,它正确地返回了所有需要批准的文档(2 个全新文档,Documents
表中只有一行,1 个文档已经过编辑,因此它在 Documents 和 中有一行Version
)。
var docs = db.IPACS_Document
.Where(x => x.dateApproved == null
|| x.IPACS_Version.Any(y => y.dateApproved == null));
上面的 Linq 正确识别了所有需要批准的 3 个文档,但是对于在Documents
表格和Version
表格中有一行的文档。它正在返回 Document 表中的信息(实际上我需要 Version 表中已编辑项目的信息)。
有没有办法返回已编辑文档的版本表信息,它已经正确返回了全新文档的信息。