linq 쿼리 구문을 사용하는 조건부 논리

스밍

추가 절에 의해서만 다른 두 쿼리 중 하나를 실행하는 아래 조건이 있습니다.

&& acc.Fb_DataSourceKey == dskId

여기에 조건부

var statData = dskId != -1 ? from s in dao.fb_statdata
                            join acc in dao.fb_datasourceadaccount
                            on s.Fb_DataSourceAdAccountId equals acc.Id
                            where s.ReportTypeId == 1
                            && acc.Fb_DataSourceKey == dskId
                            group new { s, acc.Fb_DataSourceKey }  by new { s.Fb_DataSourceAdAccountId, s.Start_time } into res
                            select res
                            :               
                            from s in dao.fb_statdata
                            join acc in dao.fb_datasourceadaccount
                            on s.Fb_DataSourceAdAccountId equals acc.Id
                            where s.ReportTypeId == 1
                            group new { s, acc.Fb_DataSourceKey }  by new { s.Fb_DataSourceAdAccountId, s.Start_time } into res
                            select res;

이제 https://stackoverflow.com/a/2850048/1170932 덕분에 아래로 변경할 수 있음을 알고 있습니다.

            var statData = from s in dao.fb_statdata
                            join acc in dao.fb_datasourceadaccount
                            on s.Fb_DataSourceAdAccountId equals acc.Id
                            where s.ReportTypeId == 1
                            group new { s, acc.Fb_DataSourceKey } by new { s.Fb_DataSourceAdAccountId, s.Start_time } into res
                            select res;

            if (singleDsk)
                statData = from s in statData where s.Key.Fb_DataSourceAdAccountId == dskId select s;

이렇게하면 코드 중복이 제거되지만 끔찍하게 비효율적 인 외부 조인이 사용됩니다 (이해할 만하게도 실제로). FTR 우리는 DB에 MySQL을 사용하고 있습니다.

외부 조인은 안타깝게도 허용 할 수 없을 정도로 느립니다. 외부 조인을 생성하지 않고 코드를 복제하지 않고 쿼리 스타일 조건 을 수행하는 방법이 있습니까?

Servy

조인을 수행 하기 전에 필터 를 수행하십시오. 이후가 아닙니다.

var accounts = dao.fb_datasourceadaccount.AsQueryable();

if(dskId != -1)
    accounts = accounts.Where(acc => acc.Fb_DataSourceKey == dskId);

var statData = from s in dao.fb_statdata
                join acc in accounts
                on s.Fb_DataSourceAdAccountId equals acc.Id
                where s.ReportTypeId == 1
                group new { s, acc.Fb_DataSourceKey } 
                by new { s.Fb_DataSourceAdAccountId, s.Start_time } 
                into res
                select res;

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Linq 쿼리에서 조건부 if 문 사용

분류에서Dev

Linq 쿼리에서 조건부 if 문 사용

분류에서Dev

내부 쿼리 조건에서 외부 쿼리 열을 사용하는 방법

분류에서Dev

내부 쿼리 조건에서 외부 쿼리 열을 사용하는 방법

분류에서Dev

if else 조건부 또는 다형성을 사용할지 여부를 PHP 논리

분류에서Dev

메서드 구문 대신 LINQ 쿼리 구문을 사용하는 AsNoTracking

분류에서Dev

조건부 논리로 행을 병합하는 Python

분류에서Dev

LINQ 식에서 조인을 사용하는 중첩 쿼리

분류에서Dev

그룹 및 조인을 사용하는 C #의 LINQ 쿼리

분류에서Dev

Linq 쿼리 C #에서 조건문 사용

분류에서Dev

조건부 값을 기반으로 linq 쿼리 작성

분류에서Dev

NHibernate Linq 쿼리를 사용하여 내부 조인을 공식화하는 데 문제가 있습니다.

분류에서Dev

여러 조건부 Linq 쿼리

분류에서Dev

linq 중첩 쿼리 조건부 순서

분류에서Dev

CASE를 사용하여 쿼리에 AND 조건을 조건부로 추가

분류에서Dev

Java를 사용하여 문자열에 대한 조건부 논리를 작성하는 방법

분류에서Dev

Linq 쿼리 구문 (또는 유창함)에서 이중 왼쪽 외부 조인을 수행하는 방법

분류에서Dev

메서드 구문을 사용하는 LINQ 쿼리로서의 SQL "IN"

분류에서Dev

메서드 구문을 사용하는 LINQ 쿼리로서의 SQL "IN"

분류에서Dev

SQL 쿼리에서 내부 조인을 사용하여 선택하는 곳과 유사한 linq 작성

분류에서Dev

MATLAB에서 다차원 배열의 일부 차원에만 논리 조건을 사용하는 방법

분류에서Dev

using 문 내에서 조건부 논리를 사용해도 괜찮습니까?

분류에서Dev

함수 내부의 논리 조건을 사용하여 전역 벡터 구성 요소에 액세스

분류에서Dev

LINQ 쿼리에 N 조건을 추가 하시겠습니까?

분류에서Dev

조인을 사용하여 linq 쿼리를 람다 쿼리로 변환

분류에서Dev

OR 조인을 사용하는 SQL 쿼리에 대한 Linq는 무엇입니까?

분류에서Dev

C # 쿼리 구문을 사용하여 Linq select 문에서 변수를 사용하는 방법

분류에서Dev

누구나 LINQ 쿼리 내에서 복잡한 조인 논리를 표현하는 방법을 알고 있습니까?

분류에서Dev

LinQ 조인 쿼리 내에서 'OR'사용 (SQL을 LinQ에 적용)

Related 관련 기사

  1. 1

    Linq 쿼리에서 조건부 if 문 사용

  2. 2

    Linq 쿼리에서 조건부 if 문 사용

  3. 3

    내부 쿼리 조건에서 외부 쿼리 열을 사용하는 방법

  4. 4

    내부 쿼리 조건에서 외부 쿼리 열을 사용하는 방법

  5. 5

    if else 조건부 또는 다형성을 사용할지 여부를 PHP 논리

  6. 6

    메서드 구문 대신 LINQ 쿼리 구문을 사용하는 AsNoTracking

  7. 7

    조건부 논리로 행을 병합하는 Python

  8. 8

    LINQ 식에서 조인을 사용하는 중첩 쿼리

  9. 9

    그룹 및 조인을 사용하는 C #의 LINQ 쿼리

  10. 10

    Linq 쿼리 C #에서 조건문 사용

  11. 11

    조건부 값을 기반으로 linq 쿼리 작성

  12. 12

    NHibernate Linq 쿼리를 사용하여 내부 조인을 공식화하는 데 문제가 있습니다.

  13. 13

    여러 조건부 Linq 쿼리

  14. 14

    linq 중첩 쿼리 조건부 순서

  15. 15

    CASE를 사용하여 쿼리에 AND 조건을 조건부로 추가

  16. 16

    Java를 사용하여 문자열에 대한 조건부 논리를 작성하는 방법

  17. 17

    Linq 쿼리 구문 (또는 유창함)에서 이중 왼쪽 외부 조인을 수행하는 방법

  18. 18

    메서드 구문을 사용하는 LINQ 쿼리로서의 SQL "IN"

  19. 19

    메서드 구문을 사용하는 LINQ 쿼리로서의 SQL "IN"

  20. 20

    SQL 쿼리에서 내부 조인을 사용하여 선택하는 곳과 유사한 linq 작성

  21. 21

    MATLAB에서 다차원 배열의 일부 차원에만 논리 조건을 사용하는 방법

  22. 22

    using 문 내에서 조건부 논리를 사용해도 괜찮습니까?

  23. 23

    함수 내부의 논리 조건을 사용하여 전역 벡터 구성 요소에 액세스

  24. 24

    LINQ 쿼리에 N 조건을 추가 하시겠습니까?

  25. 25

    조인을 사용하여 linq 쿼리를 람다 쿼리로 변환

  26. 26

    OR 조인을 사용하는 SQL 쿼리에 대한 Linq는 무엇입니까?

  27. 27

    C # 쿼리 구문을 사용하여 Linq select 문에서 변수를 사용하는 방법

  28. 28

    누구나 LINQ 쿼리 내에서 복잡한 조인 논리를 표현하는 방법을 알고 있습니까?

  29. 29

    LinQ 조인 쿼리 내에서 'OR'사용 (SQL을 LinQ에 적용)

뜨겁다태그

보관