2012-04-05 2 views
1

私はLinqステートメントには本当に新しいですが、私はそれらを愛していると言わせてください。どれでもここ、ここ、そこにif文を持つことが可能である場合MODEL_IDが存在しない場合、私は、私はクエリのステートメント

 ViewData["Message"] = "Please make another selection" 

のように別の値を設定することができるように、私は、思っていた私の問題

var faults = from e in _context.Faults 
        where e.Car_FK == Car_ID && e.Model_FK == Model_ID 
        select new { e.Time, e.Drive_Type}; 

ですCar_IDとModel_IDを渡しています

+0

でアイテムの可用性をテストすることができますverflow.com/questions/1030041/if-statement-inside-a-linq-select](http://stackoverflow.com/questions/1030041/if-statement-inside-a-linq-select) –

+1

ちょうど、 varは暗黙的に型付けされた変数で、コンパイル時に割り当てられた型を保持します。これらの文はLINQ問合せ式です。 – Habib

+0

これをクリアするには、通常どおりViewDataに入りますか?どのタグで? –

答えて

1

を参照してください。 // stacko:クエリは、[HTTPを見てみましょうAny LINQの拡張メソッド

if (faults.Any()) { 
    // Display faults 
} else { 
    ViewData["Message"] = "Please make another selection" 
} 
-1

演算子? :を使用すると、クエリ内にif文を入れることができます。条件に基づいて項目をフィルタリングする必要がある場合は、where節に入れることができます。あなたはアプリケーションのロジックを変更したいので

は、しかし、あなたのケースでは、おそらく、クエリの外にこれを載せていきたいと思います:

if(Model_ID==null) 
    ViewData["Message"] = "Please make another selection" 
else 
{ 
    var faults = from e in _context.Faults 
       where e.Car_FK == Car_ID && e.Model_FK == Model_ID 
       select new { e.Time, e.Drive_Type}; 
    //... 
} 

編集:あなたを作った後、コメント

+2

これは正しいとはいえ、これは役に立ちません。たぶんあなたはそれが何であるか説明するか、例へのリンクを提供する必要があります –

+0

申し訳ありませんが、私は速すぎました。私は私の答えを固定した、あなたのdownvoteを考慮してください。 – aKzenT

+1

@AshBurlaczenkoそれは正しいのではない:OPは、条件に基づいて異なる値を単純に違うのではなく、条件に基づいて異なる動作を望んでいるようだ。条件付き演算子では、それを行うことはできません。 – phoog

関連する問題