ID 목록을 가져 오는 함수가 있으며 ID와 관련된 설명과 일치하는 목록을 반환해야합니다. 예 :
public class CodeData
{
string CodeId {get; set;}
string Description {get; set;}
}
public List<CodeData> GetCodeDescriptionList(List<string> codeIDs)
//Given the list of institution codes, return a list of CodeData
//having the given CodeIds
}
따라서 직접 SQL을 생성하는 경우 다음과 같이 간단히 수행합니다 (in 절에 codeIds 인수의 모든 값이 포함됨).
Select CodeId, Description FROM CodeTable WHERE CodeId IN ('1a','2b','3')
Linq to Sql에서 "IN"절에 해당하는 것을 찾을 수 없습니다. 지금까지 찾은 것 중 최고 (작동하지 않음)는 다음과 같습니다.
var foo = from codeData in channel.AsQueryable<CodeData>()
where codeData.CodeId == "1" || codeData.CodeId == "2"
select codeData;
문제는 linq to sql에 대한 "OR"절 목록을 동적으로 생성 할 수 없다는 것입니다. 왜냐하면 그것들은 컴파일 타임에 설정되기 때문입니다.
Linq to Sql을 사용하여 동적 값 목록에 열이 있는지 확인하는 where 절을 어떻게 수행합니까?