0

次のクエリがあります。

var poll = entities.Polls.Join(entities.Descriptors, p => p.DescriptorID, q => q.ID, (p, q) => new
                {
                    Poll = p,
                    Descriptor = q
                }).Join(entities.Media1, p => p.Descriptor.MediaID, q => q.ID, (p, q) => new
                    {
                        Poll = p.Poll,
                        Descriptor = p.Descriptor,
                        Media = q

                    }).Join(entities.PollCommentSettings,p => p.Poll.ID,q => q.PollID,(p,q) => new
                        {
                            Poll = p.Poll,
                            Descriptor = p.Descriptor,
                            Media = p.Media,
                            CommentSettings = q
                        }).FirstOrDefault(p => p.Poll.ID == request.PollID);

私が抱えている問題は、結合されている 2 つのテーブルにオブジェクトがない可能性があることですが、私は気にせず、トップ レベルのオブジェクトを作成したいと考えています。

PollCommentSettings と Media1 の 2 つのテーブルにより、一致がない場合は何も返されません。私が持っている必要があるのは、それらが見つからなかった場合にこれらを null に設定するための最終的なオブジェクトです。これは、これらのテーブルの両方に対する右外部結合であると思います。

4

1 に答える 1