2014-06-23 2 views
0

이전 쿼리에서 제공 한 문자열 목록이 있습니다. 이 문자열은이 첫 번째 테이블의 식별자이며,이 table1을 호출 할 수있게하며, 다른 테이블의 다른 열에 존재하며이 table2를 호출합니다. 이 목록의 식별자 중 하나를 포함하는 table2의 모든 행을 가져 오는 쿼리에서 직접 목록을 사용하고 싶습니다.목록에서 쿼리의 행 모음을 찾을 수 있습니까?

이것이 가능합니까? .Any() 함수를 읽었지만 아직 사용하고있는 솔루션을 찾지 못했습니다.

답변

1

당신은 같은 것을 필요

List<string> firstList = .....; 
var query = dataTable2.AsEnumerable() 
       .Where(r => firstList.Contains(r.Field<string>("IdColumn"))); 
+0

겠습니까 r.'FieldName '을, 충분? 문제의 필드가 이미 문자열로 저장되어 있거나 Contains()가 ("ColumnName") 필드를 사용하여 람다를 선언해야한다고 가정합니다. – JSA

+0

'Field ''DataTable'이고 Field는'DataRow'의 확장 메소드이기 때문에 LINQ to SQL/LINQ To Entity라면'.Where (r => firstList.Contains (r. IdColumn))' – Habib

+0

아, 괜찮아요. 대단히 감사합니다. – JSA

관련 문제