从带有LINQ的where子句中的两个条件的数据表中获取单元格值

时间:2017-05-15 07:29:30

标签: c# linq

这是我的表Click to see pic

我想获得sub_key_value,其中key =实习生和aub_key_name = BM
我试过下面的代码

 var query = from r in dt.AsEnumerable()
                        where r.Field<string>("Key") == "Trainee" 
                        where r.Field<string>("Sub_Key_Value") == "BM"
                        select r;

这里的dt是这个表,它显示“枚举没有结果”。 如何在多个条件下从DataTable获取单元格值, 想知道其他方式,我也可以完成这个

2 个答案:

答案 0 :(得分:1)

您正在查询错误的列。代码应该是:

var query = from r in dt.AsEnumerable()
                    where r.Field<string>("Key") == "Trainee" 
                    where r.Field<string>("Sub_Key_Name") == "BM"
                    select r;

如果您只需要Sub_Key_Value,请尝试:

var query = from r in dt.AsEnumerable()
                    where r.Field<string>("Key") == "Trainee" 
                    where r.Field<string>("Sub_Key_Name") == "BM"
                    select r.Field<string>("Sub_Key_Value");

答案 1 :(得分:0)

var query = from r in dt.AsEnumerable()
                    where r.Field<string>("Key") == "Trainee" 
                    && r.Field<string>("Sub_Key_Value") == "BM"
                    select r;