使用其他数据集中的值过滤数据集

时间:2016-09-04 14:46:21

标签: c# sql-server filter dataset

我有数据集1,其中一列是clientid。我想基于从表值sql函数返回的clientids来过滤它。 (我想我可以从c#代码调用sql函数并将结果存储在dataset2中.sql函数返回一列cilentids)。

我希望结果数据集只包含客户端ID包含在dataset2中的那些行。

请帮忙!

1 个答案:

答案 0 :(得分:0)

您可以使用Linq to Dataset获取行。此示例从idable为2和4的数据中获取行。

        var dt = new DataTable();
        dt.Columns.Add("id", typeof(int));
        dt.Columns.Add("value");
        dt.Rows.Add(1, "test1");
        dt.Rows.Add(2, "test2");
        dt.Rows.Add(3, "test3");
        dt.Rows.Add(4, "test4");
        int[] idfilter = new[] { 2, 4 };
        var filteredrows = dt.AsEnumerable().Where(f => idfilter.Contains(f.Field<int>("id")));
        foreach (var row in filteredrows)
            Console.WriteLine(row["id"]);
        Console.ReadLine();