LINQ에서 WHERE 절의 동적 구성
LINQ 쿼리를 작성할 때 사용자 입력 또는 런타임 조건에 따라 WHERE 절을 동적으로 조합해야 할 수도 있습니다. 이는 복잡한 필터나 동적 데이터 선택을 처리할 때 특히 유용합니다.
예를 들어 필드 이름과 해당 값의 사전으로 전달하는 여러 확인란이 있는 양식이 있다고 가정해 보겠습니다. 이 동적 필터링을 LINQ 쿼리에 통합하려면 제공된 코드 예제에 설명된 연결 방법을 사용할 수 있습니다.
<code class="language-c#">var q = from c in db.ProductDetail where c.ProductGroupName == productGroupName && c.ProductTypeName == productTypeName select c; foreach (var filterPair in filterDictionary) { q = q.Where(c => filterPair.Value.Contains(c.GetPropertyValue(filterPair.Key))); } q = q.OrderBy(c => c.ProductTypeName);</code>
이 예에서는 filterDictionary가 반복되고 각 필터 쌍(키-값 쌍)에 대해 새 WHERE 절이 쿼리에 추가됩니다. GetPropertyValue 메서드를 호출하여 지정된 fieldName의 속성 값을 동적으로 검색합니다.
또는 솔루션에 제공된 샘플 코드에 표시된 대로 초기 쿼리 문에서 WHERE 절을 직접 연결할 수도 있습니다.
위 내용은 LINQ 쿼리에서 WHERE 절을 동적으로 작성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!