C#LINQ问题

时间:2011-02-09 14:32:59

标签: c# linq

我有以下代码

var query = from lookup in dataset.Tables["MBDDX_LOOKUP"].AsEnumerable()
                    where
                        lookup.Field<string>("lookup_value") == "Oncology"

                    select new
                    {
                        lookupID = lookup.Field<long>("ID")
                    };

这正是我想要的。但是,我还想检查where子句中的另一个字段,并选择“select new”。

我该怎么做?

感谢。

编辑:我想要提取的第二段数据也在MBDDX_LOOKUP字段中。

3 个答案:

答案 0 :(得分:4)

您可以使用和运算符&&添加其他条件。

var query = from lookup in dataset.Tables["MBDDX_LOOKUP"].AsEnumerable()
            where lookup.Field<string>("lookup_value") == "Oncology" &&
                  lookup.Field<string>("anotherlookup_value") == "Zoology"
            select new {
                lookupID = lookup.Field<long>("ID"),
                lookup = lookup.Field<string>("lookup_value")
            };

答案 1 :(得分:2)

var query = from lookup in dataset.Tables["MBDDX_LOOKUP"].AsEnumerable()
                where
                    lookup.Field<string>("lookup_value") == "Oncology" &&
                    lookup.Field<string>("another_field") == "foo"

                select new
                {
                    lookupID = lookup.Field<long>("ID"),
                    another_field = lookup.Field<string>("another_field")
                };

答案 2 :(得分:1)

如果您只想检查两个可能值的相同字段,请使用OR运算符||

var query = from lookup in dataset.Tables["MBDDX_LOOKUP"].AsEnumerable()
        where lookup.Field<string>("lookup_value") == "Oncology" ||
              lookup.Field<string>("lookup_value") == "Zoology"
        select new {
            lookupID = lookup.Field<long>("ID"),
            lookup = lookup.Field<string>("lookup_value")
        };