2017-03-20 5 views
1

여기에서 두 번째 쿼리의 결과에 첫 번째 쿼리 (한 열)를 결합하여 하나의 결과 집합을 얻고 싶습니다. 어떻게 그들을 병합 할 수 있습니다 (필요에 따라 CONCAT가 작동하지 않습니다 예 :. var에 쿼리 1 = query.concat (쿼리 1)가).하나의 키 열에 대해 두 개의 linq 쿼리를 결합하여 하나의 결과 집합을 얻습니다.

var query = (from PP in _db.paymentPlans 
        join APP in _db.Applications on PP.applicationID equals  APP.ApplicationId 
        join C in _db.Courses on APP.courseID equals C.courseID 
        where PP.active == true && APP.agentID == agentID 
        orderby C.courseID ascending 
        group new {C,PP} by new {C.courseID} into totalRecievable 
         select new PdPpAppCourseModel 
        { 
         courseID = totalRecievable.Key.courseID,        
         totalAmount = totalRecievable.Sum(x => x.PP.totalAmount) 
        }).ToList(); 


      var query1=(from PD in _db.paymentDetails 
        join PP in _db.paymentPlans on PD.paymentPlanID equals PP.paymentPlanID 
        join APP in _db.Applications on PP.applicationID equals APP.ApplicationId 
        join C in _db.Courses on APP.courseID equals C.courseID 
        where PP.active == true && APP.agentID == agentID 
        orderby C.courseID ascending 
        group new { C,PD } by new { C.courseID, C.cricosCode, C.courseName } into paymentsCourseWise 

        select new PdPpAppCourseModel 
        { 
         courseID = paymentsCourseWise.Key.courseID, 
         cricosCode = paymentsCourseWise.Key.cricosCode, 
         courseName = paymentsCourseWise.Key.courseName, 
         paidAmount = paymentsCourseWise.Sum(x => x.PD.paidAmount) 

        }).ToList(); 

답변

0

당신이

var result = (from q1 in query1 
      join q in query on q1.courseID = q.courseID 
      select new PdPpAppCourseModel 
      { 
       courseID = q1.Key.courseID, 
       cricosCode = q1.Key.cricosCode, 
       courseName = q1.Key.courseName, 
       paidAmount = q1.Sum(x => x.PD.paidAmount), 
       totalAmount = q.totalAmount 

      }).ToList(); 
+0

안녕 같은 쿼리 1과 쿼리에 가입 할 수 시간 내 주셔서 감사 드리며 지식을 공유하십시오. 불행히도 오류가 발생합니다. " 'studentAgentManagementSystem2016.Models.PdPpAppCourseModel'형식의 상수 값을 만들 수 없습니다.이 컨텍스트에서는 기본 유형 또는 열거 유형 만 지원됩니다." 제안 사항이 있으십니까? – Sudesh

+0

아마도이 문제와 관련이 있습니다. http://stackoverflow.com/questions/18929483/unable-to-create-a-constant-value-of-type-only-primitive-types-or-enumeration-ty. 내 대답 – TriV

+0

편집하지만 지금은이 오류를주고있어; "유형 'sManagementSystem.Models.PdPpAppCourseModel'은 단일 LINQ to Entities 쿼리 내에서 두 개의 구조적으로 호환되지 않는 초기화에 표시됩니다. 형식은 동일한 쿼리의 두 위치에서 초기화 될 수 있지만 두 위치 모두에서 동일한 속성이 설정된 경우에만 초기화됩니다 속성은 같은 순서로 설정됩니다. " – Sudesh