2011-02-09 7 views
1

私はこれは私がしたい正確に何を返す次のコード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句内の別のフィールドをチェックして、それも '新しいものを選択したい。

どうすればいいですか?

ありがとうございました。

EDIT:抽出したい2番目のデータは、MBDDX_LOOKUPフィールド内にもあります。

答えて

1

あなたはちょうど2つの可能な値については、同じフィールドを確認しようとしている場合は、使用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") 
     }; 
+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") 
      }; 
+0

こんにちは、データの2枚目でもありますlookup_valueフィールドありがとう。 –

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") 
       };