$ project или $ group не поддерживают <document>только при множественном левом соединении - PullRequest
0 голосов
/ 26 апреля 2019

Я знаю, что эта ошибка имеет ответ в здесь . Но в моем случае я не проецирую какой-либо документ напрямую. Это прекрасно работает, когда я использую внутреннее соединение вместо левого соединения в коллекции user. У меня ничего из SO не работает

            var query = from
                    his in levelsOfApprovalHistory
                    where his.ReferenceNo == referenceNumber
                    join serv in services on his.Service.ServiceId equals serv.ServiceId
                    join st in status on his.StatusDetails.StatusId equals st.StatusValue
                    join us in user on his.User.PoliceId equals us.PoliceId into u
                    from usr in u.DefaultIfEmpty()
                    join emp in employee on usr.Employee.EmployeeID equals emp.EmployeeID into ps
                    from p in ps.DefaultIfEmpty()
                    select new ApplicationStatusHistoryDTO()
                    {
                        ID = his.ID,
                        ReferenceNo = his.ReferenceNo,
                        Comments = his.Comments,
                        RequestorNameEn = his.RequestorNameEn,
                        RequestorNameAr = his.RequestorNameAr,
                        UTCDate = his.UTCDate,
                        Service = new Service()
                        {
                            ServiceId = his.Service.ServiceId,
                            ServiceName = serv.ServiceName,
                            ServiceNameAr = serv.ServiceNameAr
                        },
                        StatusDetails = new FollowUpStatus()
                        {
                            StatusId = st.StatusId,
                            StatusNameEn = st.StatusNameEn,
                            StatusNameAr = st.StatusNameAr,
                            StatusValue = st.StatusValue,
                            StyleClass = st.StyleClass,
                            IsPrimary = st.IsPrimary
                        },
                        EmployeeDetails = new Employee()
                        {
                            EmployeeID = p.EmployeeID,
                            FirstName = p.FirstName,
                            EnglishName = p.EnglishName,
                            UserCode = usr.MilitaryNumber
                        },
                        Level = new Levels()
                        {
                            LevelID = his.Level.LevelID,
                            LevelEnName = his.Level.LevelEnName,
                            LevelArName = his.Level.LevelArName,
                            Service = new Service()
                            {
                                ServiceId = his.Level.Service.ServiceId
                            },
                            IsFinal = his.Level.IsFinal
                        }
                    };
...