LINQ에서 if 조건을 적용하는 방법은 무엇입니까?

Kgn 웹

아래는 내 LINQ

나는 다시 쓰고 싶은 LINQ것처럼 flag이며 true다른 모든 레코드가 적용 가져 오기 다음 .skip()take()여기에 언급 한 바와 같이

    public IEnumerable<ReportMapper> FetchReports(DateTime startDate, DateTime endDate, int docMode, int pageNumber, bool flag )
    {
        try
        {
            IEnumerable<ReportMapper> reports;
            using (var entities = new DatabaseEntities1())
            {
                IQueryable<ReportMapper> query;
                if (docMode > 0)
                {
                    query = (from c in entities.tDocumentStatus
                             join d in entities.tTOCStructures on c.DocumentId equals d.DocumentID
                             join e in entities.tUsers on d.LastUpdatedBy equals e.UserUID
                             orderby c.AssignedDate descending
                             where c.AssignedDate >= startDate && c.AssignedDate <= endDate && c.StatusId == docMode
                             select new ReportMapper()
                             {
                                 DocumentName = d.FolderName,
                                 AssignedDate = c.AssignedDate,
                                 ReviewStatus = c.tStatu.StatusName,
                                 ActionPerformedBy = e.FirstName + " " + e.LastName
                             }).Skip(pageNumber * 10).Take(50);
                }
                else
                {
                    query = (from c in entities.tDocumentStatus
                             join d in entities.tTOCStructures on c.DocumentId equals d.DocumentID
                             join e in entities.tUsers on d.LastUpdatedBy equals e.UserUID
                             orderby c.AssignedDate descending
                             where c.AssignedDate >= startDate && c.AssignedDate <= endDate
                             select new ReportMapper()
                             {
                                 DocumentName = d.FolderName,
                                 AssignedDate = c.AssignedDate,
                                 ReviewStatus = c.tStatu.StatusName,
                                 ActionPerformedBy = e.FirstName + " " + e.LastName
                             }).Skip(pageNumber * 10).Take(50);
                }


                reports = query.ToList<ReportMapper>();

                return reports;
            }
        }
        catch (Exception ex)
        {
            //handle exception
        }
    }

하지만 어떻게해야할지 모르겠습니다.

참고 :- docMode위 쿼리 의 var 는 where 절에 세 번째 조건을 적용할지 여부를 확인하는 데 사용됩니다 (모두 서로 다른 내 where 절 확인).

if-else 래더를 사용하지 않고 더 좋은 방법이 있습니까?

팀 슈멜 터

다음과 같이 쿼리를 단순화 할 수 있습니다.

public IEnumerable<ReportMapper> FetchReports(DateTime startDate, DateTime endDate, int docMode, int pageNumber, bool flag)
{
    using (var entities = new DatabaseEntities1())
    {
        IQueryable<ReportMapper> reports = 
                  from c in entities.tDocumentStatus
                  join d in entities.tTOCStructures on c.DocumentId equals d.DocumentID
                  join e in entities.tUsers on d.LastUpdatedBy equals e.UserUID
                  orderby c.AssignedDate descending
                  where c.AssignedDate >= startDate && c.AssignedDate <= endDate
                    && (docMode <= 0 || c.StatusId == docMode)
                  select new ReportMapper()
                  {
                      DocumentName = d.FolderName,
                      AssignedDate = c.AssignedDate,
                      ReviewStatus = c.tStatu.StatusName,
                      ActionPerformedBy = e.FirstName + " " + e.LastName
                  };

        if(!flag)
            reports = reports.Skip(pageNumber * 10).Take(50);

        return reports.ToList();
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

HQL에서 OR 조건을 적용하는 방법은 무엇입니까?

분류에서Dev

Linq에서이 WHERE 조건을 작성하는 방법은 무엇입니까?

분류에서Dev

다음 결과에 If 조건을 적용하는 방법은 무엇입니까?

분류에서Dev

Spark에서 "and"를 사용하여 SQL select에 빈 조건을 적용하는 방법은 무엇입니까?

분류에서Dev

Spark에서 "and"를 사용하여 SQL select에 빈 조건을 적용하는 방법은 무엇입니까?

분류에서Dev

Awk에서 여러 if 조건을 사용하는 방법은 무엇입니까?

분류에서Dev

LibreOffice에서 OR 조건을 사용하는 방법은 무엇입니까?

분류에서Dev

Javascript에서 forEach 루프에 조건을 적용하는 방법은 무엇입니까?

분류에서Dev

Excel에서 한 셀에 여러 조건 (두 개 이상)을 적용하는 방법은 무엇입니까?

분류에서Dev

Pandas Dataframe에서 여러 달에 다른 조건을 적용하는 방법은 무엇입니까?

분류에서Dev

gcc에서 Intel 구문에 즉각적인 제약 조건을 사용하는 방법은 무엇입니까?

분류에서Dev

mongodb에서 조건으로 $ lookup을 적용하는 방법은 무엇입니까?

분류에서Dev

Pandas의 목록에서 튜플 요소를 빼고 조건을 적용하는 방법은 무엇입니까?

분류에서Dev

명명 된 범위에 조건부 서식을 적용하는 방법은 무엇입니까?

분류에서Dev

angularJS 지시문에서 조건부로 속성을 적용하는 방법은 무엇입니까?

분류에서Dev

numpy 배열의 인덱스에 조건을 효율적으로 적용하는 방법은 무엇입니까?

분류에서Dev

ORACLE SQL PROCEDURE에서 "if 조건"을 조작하는 방법은 무엇입니까?

분류에서Dev

옵션이 존재하는 경우에만 조건을 적용하는 방법은 무엇입니까?

분류에서Dev

XDocument에서 LINQ에 자체 조인을 적용하는 방법은 무엇입니까?

분류에서Dev

이전 셀 값을 기반으로 조건부 서식을 적용하는 방법은 무엇입니까?

분류에서Dev

다른 행에 다른 조건부 형식을 적용하는 방법은 무엇입니까?

분류에서Dev

데이터 프레임의 각 열에 다른 조건을 적용하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임 열에 조건을 적용하는 방법은 무엇입니까?

분류에서Dev

동일한 ID를 가진 행에 조건을 적용하는 방법은 무엇입니까?

분류에서Dev

템플릿에 제약 조건을 적용하는 세 가지 방법의 차이점은 무엇입니까?

분류에서Dev

여러 테이블에 고유 한 제약 조건을 적용하는 방법은 무엇입니까?

분류에서Dev

템플릿의 HTML 요소에 조건부 속성을 적용하는 방법은 무엇입니까?

분류에서Dev

Matlab에서 루프 조건을 변경하는 방법은 무엇입니까?

분류에서Dev

Java에서 경쟁 조건을 재현하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    HQL에서 OR 조건을 적용하는 방법은 무엇입니까?

  2. 2

    Linq에서이 WHERE 조건을 작성하는 방법은 무엇입니까?

  3. 3

    다음 결과에 If 조건을 적용하는 방법은 무엇입니까?

  4. 4

    Spark에서 "and"를 사용하여 SQL select에 빈 조건을 적용하는 방법은 무엇입니까?

  5. 5

    Spark에서 "and"를 사용하여 SQL select에 빈 조건을 적용하는 방법은 무엇입니까?

  6. 6

    Awk에서 여러 if 조건을 사용하는 방법은 무엇입니까?

  7. 7

    LibreOffice에서 OR 조건을 사용하는 방법은 무엇입니까?

  8. 8

    Javascript에서 forEach 루프에 조건을 적용하는 방법은 무엇입니까?

  9. 9

    Excel에서 한 셀에 여러 조건 (두 개 이상)을 적용하는 방법은 무엇입니까?

  10. 10

    Pandas Dataframe에서 여러 달에 다른 조건을 적용하는 방법은 무엇입니까?

  11. 11

    gcc에서 Intel 구문에 즉각적인 제약 조건을 사용하는 방법은 무엇입니까?

  12. 12

    mongodb에서 조건으로 $ lookup을 적용하는 방법은 무엇입니까?

  13. 13

    Pandas의 목록에서 튜플 요소를 빼고 조건을 적용하는 방법은 무엇입니까?

  14. 14

    명명 된 범위에 조건부 서식을 적용하는 방법은 무엇입니까?

  15. 15

    angularJS 지시문에서 조건부로 속성을 적용하는 방법은 무엇입니까?

  16. 16

    numpy 배열의 인덱스에 조건을 효율적으로 적용하는 방법은 무엇입니까?

  17. 17

    ORACLE SQL PROCEDURE에서 "if 조건"을 조작하는 방법은 무엇입니까?

  18. 18

    옵션이 존재하는 경우에만 조건을 적용하는 방법은 무엇입니까?

  19. 19

    XDocument에서 LINQ에 자체 조인을 적용하는 방법은 무엇입니까?

  20. 20

    이전 셀 값을 기반으로 조건부 서식을 적용하는 방법은 무엇입니까?

  21. 21

    다른 행에 다른 조건부 형식을 적용하는 방법은 무엇입니까?

  22. 22

    데이터 프레임의 각 열에 다른 조건을 적용하는 방법은 무엇입니까?

  23. 23

    Pandas 데이터 프레임 열에 조건을 적용하는 방법은 무엇입니까?

  24. 24

    동일한 ID를 가진 행에 조건을 적용하는 방법은 무엇입니까?

  25. 25

    템플릿에 제약 조건을 적용하는 세 가지 방법의 차이점은 무엇입니까?

  26. 26

    여러 테이블에 고유 한 제약 조건을 적용하는 방법은 무엇입니까?

  27. 27

    템플릿의 HTML 요소에 조건부 속성을 적용하는 방법은 무엇입니까?

  28. 28

    Matlab에서 루프 조건을 변경하는 방법은 무엇입니까?

  29. 29

    Java에서 경쟁 조건을 재현하는 방법은 무엇입니까?

뜨겁다태그

보관