반응형
LINQ to SQL을 사용하여 IN 하위 쿼리를 어떻게 처리 할 수 있습니까?
나는 이것에 약간 붙어 있습니다. 기본적으로 LINQ to SQL에서 다음 SQL 쿼리와 같은 작업을 수행하고 싶습니다.
SELECT f.*
FROM Foo f
WHERE f.FooId IN (
SELECT fb.FooId
FROM FooBar fb
WHERE fb.BarId = 1000
)
어떤 도움이라도 감사하게받을 것입니다.
감사.
한 번 봐 가지고 이 기사를 . 기본적으로 IN과 동등한 값을 얻으려면 먼저 내부 쿼리를 생성 한 다음 Contains () 메서드를 사용해야합니다. 번역하려는 시도는 다음과 같습니다.
var innerQuery = from fb in FoorBar where fb.BarId = 1000 select fb.FooId;
var result = from f in Foo where innerQuery.Contains(f.FooId) select f;
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;
LINQ to SQL에서 EXISTS를 구현하는 일반적인 방법
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;
from f in Foo
where f.FooID ==
(
FROM fb in FooBar
WHERE fb.BarID == 1000
select fb.FooID
)
select f;
두 가지 개별 단계를 사용해보십시오.
// create a Dictionary / Set / Collection fids first
var fids = (from fb in FooBar
where fb.BarID = 1000
select new { fooID = fb.FooID, barID = fb.BarID })
.ToDictionary(x => x.fooID, x => x.barID);
from f in Foo
where fids.HasKey(f.FooId)
select f
// 먼저 사전 / 세트 / 컬렉션 fid를 만듭니다.
var fids = (from fb in FooBar
where fb.BarID = 1000
select new { fooID = fb.FooID, barID = fb.BarID })
.ToDictionary(x => x.fooID, x => x.barID);
from f in Foo
where fids.HasKey(f.FooId)
select f
이 시도
var fooids = from fb in foobar where fb.BarId=1000 select fb.fooID
var ff = from f in foo where f.FooID = fooids select f
var foos = Foo.Where<br>
( f => FooBar.Where(fb.BarId == 1000).Select(fb => fb.FooId).Contains(f.FooId));
from f in foo
where f.FooID equals model.FooBar.SingleOrDefault(fBar => fBar.barID = 1000).FooID
select new
{
f.Columns
};
// 먼저 사전 / 세트 / 컬렉션 fid를 만듭니다.
var fids = (from fb in FooBar where fb.BarID = 1000 select new { fooID = fb.FooID, barID = fb.BarID }) .ToDictionary(x => x.fooID, x => x.barID);
from f in Foo where fids.HasKey(f.FooId) select f
참조 URL : https://stackoverflow.com/questions/51339/how-can-you-handle-an-in-sub-query-with-linq-to-sql
반응형
'programing' 카테고리의 다른 글
Swift를 사용하는 문자열의 하위 문자열 인덱스 (0) | 2021.01.17 |
---|---|
Room에서 데이터 무결성을 확인할 수 없습니다. (0) | 2021.01.17 |
동일한 메서드 서명으로 게시 및 가져 오기 (0) | 2021.01.17 |
활동이 시작될 때 소프트 키보드 표시 (0) | 2021.01.17 |
선택 및 선택의 어떤 값이 거짓입니까? (0) | 2021.01.17 |