web-dev-qa-db-fra.com

en utilisant Linq avec plusieurs conditions where

J'ai une classe représentant une table sur la base de données qui est définie:

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

Sur lequel je veux exécuter une requête de recherche sur la base de données Oracle.

Maintenant, la question est:

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

Est-il préférable d'utiliser plusieurs lignes avec où condition ou une? Et pourquoi ... s'il vous plaît

Pour autant que je comprends, j'utilise plusieurs clauses where lorsque je souhaite rechercher le résultat de la première condition.

14
cpoDesign

Je suivrai la réponse de John Skeet publiée par Vossad01.

Propres clauses Linq where

3
cpoDesign

Cela ne devrait pas avoir d'importance

Vous créez simplement une arborescence d'expression qui est transmise au fournisseur Oracle et c'est le travail du fournisseur de créer la requête SQL résultante. Même si l'arbre d'expression serait légèrement différent entre les deux, il devrait toujours avoir le même sql. J'aime utiliser un profileur sql pour m'assurer que mes requêtes linq produisent du sql efficace.

10
Aducci