LINQ to SQL에서 IN 하위 쿼리 처리
LINQ to SQL에서 IN 하위 쿼리를 활용하면 데이터를 상호 연관시키는 효율적인 방법이 될 수 있습니다. 여러 테이블에서. 접근 방법은 다음과 같습니다.
일반 IN 쿼리 구현:
LINQ to SQL에서 IN 쿼리를 구현하려면 다음 구문을 따르세요.
var q = from t1 in table1 let t2s = from t2 in table2 where <Conditions for table2> select t2.KeyField where t2s.Contains(t1.KeyField) select t1;
구체적인 예:
자 예제 SQL 쿼리를 다시 살펴보세요.
SELECT f.* FROM Foo f WHERE f.FooId IN ( SELECT fb.FooId FROM FooBar fb WHERE fb.BarId = 1000 )
LINQ to SQL에서는 다음과 같이 변환됩니다.
var query = from f in db.Foo let fubars = from fb in db.FooBar where fb.BarId == 1000 select fb.FooId where fubars.Contains(f.FooId) select f;
추가 고려 사항:
EXISTS 쿼리의 경우 Contains() 대신 Any() 메서드를 사용할 수 있습니다.
var q = from t1 in table1 let t2s = from t2 in table2 where <Conditions for table2> select t2.KeyField where t2s.Any(t1.KeyField) select t1;
위 내용은 LINQ to SQL에서 IN 하위 쿼리를 효율적으로 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!