相关疑难解决方法(0)

Linq to SQL怎么做"where [column] in(values of values)"

我有一个函数,我得到一个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
}
Run Code Online (Sandbox Code Playgroud)

因此,如果我自己创建sql,我会简单地执行以下操作(其中in子句包含codeIds参数中的所有值):

Select CodeId, Description FROM CodeTable WHERE CodeId IN ('1a','2b','3')
Run Code Online (Sandbox Code Playgroud)

在Linq to Sql中我似乎无法找到相当于"IN"的子句.到目前为止我发现的最好(不起作用)是:

 var foo = from codeData in channel.AsQueryable<CodeData>()
           where codeData.CodeId == "1" || codeData.CodeId == "2"
           select codeData;
Run Code Online (Sandbox Code Playgroud)

问题是,我无法动态生成linq到sql的"OR"子句列表,因为它们是在编译时设置的.

如何使用Linq to Sql完成检查列的where子句在动态值列表中?

linq linq-to-sql

95
推荐指数
2
解决办法
13万
查看次数

52
推荐指数
7
解决办法
6万
查看次数

标签 统计

linq ×2

linq-to-sql ×1