【发布时间】:2013-04-10 20:15:59
【问题描述】:
问题是从原始帖子演变而来的,因此为了扩大结果,我添加了一个单独的问题。
最初的任务得到了回答,但在这样做的过程中,我遇到了一个困扰我的新问题。 在此处查看原始帖子:LINQ beginner, table joining query for document version
这是一个文档修订系统。我们正在使用两个表。一旦用户创建了新文档,信息就会添加到Document 表中。此时,文档表有一个设置为 0 的修订版和一个设置为空的 dateApproved。主键是 documentID。
现在,如果用户编辑该文档,则会在新表 Version 中创建一行。
这是我拥有的 Linq,它正确返回了所有需要批准的文档(2 个全新文档,在 Documents 表中只有一行,1 个文档已经过编辑,所以它有一行在文档和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 表中已编辑项目的信息)。
有没有办法返回已编辑文档的版本表信息,它已经正确返回了全新文档的信息。
【问题讨论】:
标签: c# linq linq-to-objects