집 >데이터 베이스 >MySQL 튜토리얼 >LINQ를 사용하여 SQL의 'IN' 문을 복제하는 방법은 무엇입니까?
SQL의 "IN" 문에 해당하는 LINQ
이 문서에서는 다음을 에뮬레이트하는 LINQ 쿼리를 작성하는 작업을 다루겠습니다. SQL "IN" 문의 동작. 이 쿼리는 지정된 태그 목록과 일치하는 항목을 검색합니다.
항목을 지원하는 다음 데이터베이스 스키마를 상상해 보세요. 태그 지정:
항목
태그 s
TagMap
문제 설명:
지정된 태그 목록과 일치하는 항목을 반환하는 LINQ 쿼리를 작성합니다. 예를 들어, 원하는 태그가 2, 3, 4, 7인 경우 쿼리는 해당 태그가 있는 항목을 검색해야 합니다.
해결책:
다음을 사용하여 이를 달성할 수 있습니다. LINQ 쿼리:
var TagIds = new[] { 2, 3, 4, 7 }; var q = from map in Context.TagMaps where TagIds.Contains(map.TagId) select map.Items;
쿼리는 먼저 원하는 태그 ID로 정수 배열 TagId를 초기화합니다. 그런 다음 TagMaps의 TagId 열이 TagIds 배열에 있는지 확인하는 Contains 메서드를 사용하여 이 배열과 TagMaps 테이블을 조인합니다.
이 쿼리는 SQL 문에 매개변수화된 "IN" 절을 생성하여 효율성을 보장합니다. 실행. 기본적으로 다음 SQL로 변환됩니다.
SELECT Items FROM TagMaps WHERE TagId IN (2, 3, 4, 7);
위 내용은 LINQ를 사용하여 SQL의 'IN' 문을 복제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!