다음을 통해 공유


QueryExpression을 사용하여 쿼리 작성

 

게시 날짜: 2016년 11월

적용 대상: Dynamics CRM 2015

Microsoft Dynamics CRM 2015 및 Microsoft Dynamics CRM Online 2015 업데이트에서 QueryExpression 클래스를 사용하여 데이터 검색 범위를 정의하는 검색 조건과 데이터 필터가 포함된 쿼리를 프로그래밍 방식으로 작성할 수 있습니다. 쿼리 식은 단일 개체를 검색하기 위해 사용됩니다. 예를 들어 특정 검색 조건과 일치하는 모든 거래처를 반환하는 검색을 만들 수 있습니다.QueryBase 클래스는 쿼리 식의 기본 클래스입니다. 파생 클래스에는 QueryExpressionQueryByAttribute 두 가지가 있습니다.QueryExpression 클래스는 복잡한 쿼리를 지원합니다.QueryByAttribute 클래스는 특성이 지정된 값과 일치하는 엔터티를 검색하는 단순한 방법입니다.

쿼리 식은 IOrganizationService.RetrieveMultiple 메서드와 같이 둘 이상의 레코드를 검색하는 메서드와 BulkDeleteRequest과 같이 쿼리 식에 지정된 결과 집합에서 작업을 수행하는 메시지, 그리고 특정 레코드의 ID를 모르는 경우에 사용됩니다.

또한 조직 엔터티에 새 특성 Organization.QuickFindRecordLimitEnabled이 있습니다. 이 Boolean 특성이 true이면 빠른 찾기 쿼리가 제한됩니다. 사용자가 빠른 찾기에 충분히 선택적이지 않은 검색 조건을 제공하면 시스템에서 이를 감지하고 검색을 중지합니다. 더 빠른 양식의 빠른 찾기를 지원하므로 성능에 큰 차이가 있을 수 있습니다.

System_CAPS_warning경고

성능에 나쁜 영향을 주므로 쿼리에서 모든 특성을 검색하지는 마십시오. 쿼리가 업데이트 요청에 대한 매개 변수로 사용되는 경우 특히 그렇습니다. 업데이트에서 모든 특성이 이 집합에 포함되어 있을 경우 모든 필드 값은 변경되지 않더라도 하위 레코드에 대한 연속 변경 업데이트를 종종 트리거합니다.

Microsoft Dynamics 365에서 레코드를 검색하는 쿼리를 만드는 방법이 두 가지 더 있습니다. 고유한 Microsoft Dynamics 365 쿼리 언어인 FetchXML은 XML 기반 쿼리를 사용하여 일부 쿼리를 수행하는 데 사용할 수 있습니다. 자세한 내용은 FetchXML을 사용하여 쿼리 작성을 참조하십시오..NET LINQ(Language-Integrated Query)를 사용하여 쿼리를 작성할 수도 있습니다.추가 정보:LINQ(.NET 언어 통합 쿼리)를 사용하여 쿼리 작성

쿼리를 저장하려면 QueryExpressionToFetchXmlRequest를 사용하여 쿼리를 FetchXML로 변환하고 userquery 엔터티를 사용하여 저장된 보기를 저장할 수 있습니다.

이 섹션의 내용

QueryByAttribute 클래스 사용

QueryExpression 클래스 사용

ColumnSet 클래스 사용

ConditionExpression 클래스 사용

FilterExpression 클래스 사용

QueryExpression에서 왼쪽 우선 외부 조인을 사용하여 "포함 안 할" 레코드 쿼리

null 값 테스트

QueryExpression을 사용하여 대형 결과 집합 페이징

샘플: 일대다 관계 검색

샘플: QueryByAttribute 클래스를 사용하여 여러 항목 검색

샘플: QueryExpression 클래스를 사용하여 여러 항목 검색

샘플: 페이징 쿠키와 함께 QueryExpression 사용

참조

QueryBase

QueryExpression

QueryByAttribute

RetrieveMultiple

ColumnSet

ConditionExpression

FilterExpression

PagingCookie

참고 항목

샘플: Fetch와 QueryExpression 사이 쿼리 변환

© 2017 Microsoft. All rights reserved. 저작권 정보