Linq:包含多个动态输入字符串值的CONTAINS

时间:2014-01-20 05:55:06

标签: c# linq

我有类似的要求,在下面的链接中提到了很少的调整。

LINQ : How to check CONTAINS with multiple dynamic input values

我经历了一些链接,但无法找到解决方案。请指导。

我收到格式为string的多个选定selected = "Consumer,Business,Others"。我在下面的查询中使用它们:

var q = from a in dt.AsEnumerable()
                where a.Field<string>("Period") == "Jan 2014" && a.Field<string>("Division").Contains(selected)
                select a;

        GridView1.DataSource = q.CopyToDataTable();
        GridView1.DataBind();

虽然数据库有数据,但q返回空值。

1 个答案:

答案 0 :(得分:1)

试试这个:

string[] selectedList = selected.Split(',');
var q = from a in dt.AsEnumerable()
        where a.Field<string>("Period") == "Jan 2014" && 
        selectedList.Contains(a.Field<string>("Division")) 
        select a;

GridView1.DataSource = q.CopyToDataTable();
GridView1.DataBind();