条件

2012-07-03 12 views
10

複数でのLINQを使用して、私は定義されているデータベース上のテーブルを表すクラスを持っている:私は、Oracleデータベースに対していくつかの検索クエリを実行したい条件

public class MyClass{ 
    public int MyClassId{get;set;} 
    public string Name{get;set;} 
    public string LastNamw{get;set;} 
    public DateTime From{get;set;} 
    public DateTime To{get;set;} 
} 

た上で。

今の質問は次のとおりです。

var list = context.MyClass 
    .Where(x => x.From>= FromMyDate) 
    .Where(x => x.To <= ToMyDate); 


var list = context.MyClass 
    .Where(x => x.From>= FromMyDate && x.To <= ToMyDate); 

は、それがどこ条件または1つで複数の行を使用した方が良いですか?そしてなぜ... please

私が理解する限り、私は最初の条件の結果を検索したいときは複数のwhere節を使用します。

+2

参照[適切なLINQの句(http://stackoverflow.com/a/6360037/1072626) – vossad01

答えて

7

あなただけのOracleプロバイダに渡された式ツリーを作成しているし、結果のSQLクエリを作成するには、プロバイダの仕事です

問題ではないはず。 Expressionツリーは両者でわずかに異なりますが、同じSQLになるはずです。私はlinqクエリが効率的なSQLを生成していることを確認するためにSQLプロファイラを使用するのが好きです。