我有以下查询:
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);
我遇到的问题是正在加入的两个表可能没有对象,但我不在乎,并且仍想创建我的顶级对象。
如果没有匹配,两个 PollCommentSettings 和 Media1 表会导致它不返回任何内容。我需要的是最后一个对象,如果没有找到它们,只需将它们设置为 null。我相信这是这两个表上的右外连接。