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
}
したがって、これを自分で作成する場合は、次のようにします(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句が値の動的リストにあるwhere句をどのように実現しますか?