0

質問は元の投稿から発展したため、結果を広げるために別の質問を追加しました。

元のクエストには答えがありましたが、その過程で新たな問題にぶつかり、困惑しました。ここで元の投稿を参照してください: 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 テーブルからの情報が必要な場合)。

編集されたドキュメントのバージョン テーブル情報を返す方法はありますか。新しいドキュメントの情報は既に正しく返されています。

4

1 に答える 1