2016-09-07 12 views

答えて

2

あなたが行ったようにクエリを作成するだけです。

var query = from c in categories select c; 
if (dateTime is not null) { 
    query = query.Where(c => c.UpdateDate < dateTime); 
} 
var results = query.Select(x => new Item { ... }).ToArray(); 

別のオプションは次のとおりです。

var query = from c in categories 
      where (dateTime == null || c.UpdateDate < dateTime) 
      select new Item { ... }; 

注:これはSQLで同等の条件を作成しません。最初の選択肢はありません。

+0

これを実現する方法はありませんか? –

+0

「一歩」という意味は?これにより、最も効率的なクエリが作成されますが、別のオプションで更新されます。 – Maarten

+0

私はそれがおそらく私が望んでいたと思う、私は最初の答えでは、すべての項目を最初に選択し、後でdatetimeをフィルタリングするようなものではない、より多くの努力がかかることを意味します。私はあなたがC#をかなり新しくして以来、あなたが説明できるかどうかを知りたいと思います。 –

関連する問題