質問は元の投稿から発展したため、結果を広げるために別の質問を追加しました。
元のクエストには答えがありましたが、その過程で新たな問題にぶつかり、困惑しました。ここで元の投稿を参照してください: LINQ 初心者、ドキュメント バージョンのテーブル結合クエリ
これは文書改訂システム用です。そして、2 つのテーブルを使用しています。ユーザーが新しいドキュメントを作成するとすぐに、情報がDocument
テーブルに追加されます。この時点で、ドキュメント テーブルには 0 に設定されたリビジョンと null に設定された dateApproved があります。主キーは documentID です。
ユーザーがそのドキュメントを編集すると、新しいテーブルに行が作成されますVersion
。
Documents
これは、承認が必要なすべてのドキュメントを正しく返すLinqです(テーブルに行があるだけの2つの新しいドキュメントと、編集されたドキュメントとドキュメントに行がある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 テーブルからの情報が必要な場合)。
編集されたドキュメントのバージョン テーブル情報を返す方法はありますか。新しいドキュメントの情報は既に正しく返されています。